qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] b530cc: migration: Remove spurious files


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] b530cc: migration: Remove spurious files
Date: Mon, 13 Feb 2023 06:17:15 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b530ccde5dd6403d576845918f70703357871e12
      
https://github.com/qemu/qemu/commit/b530ccde5dd6403d576845918f70703357871e12
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    R configs/devices/x86_64-softmmu/x86_64-quintela-devices.mak
    R configs/devices/x86_64-softmmu/x86_64-quintela2-devices.mak
    R migration/multifd.c.orig

  Log Message:
  -----------
  migration: Remove spurious files

I introduced spurious files on my tree during a rebase:

commit ebfc57871506b3fe36cc41f69ee3ad31a34afd63
Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
Date:   Mon Oct 17 15:53:51 2022 +0800

    multifd: Fix flush of zero copy page send request

    Make IO channel flush call after the inflight request has been drained
    in multifd thread, or else we may missed to flush the inflight request.

    Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>

To make things worse, it appears like Zhenzhong is the one to blame.

for(int i=0; i < 1000000; i++) {
        printf("I will not do rebases when I am tired\n");
}

Sorry, Juan.

Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: e3f37b2ce613c5597cc394800874c8716ea8936a
      
https://github.com/qemu/qemu/commit/e3f37b2ce613c5597cc394800874c8716ea8936a
  Author: Li Zhang <lizhang@suse.de>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/multifd.c

  Log Message:
  -----------
  multifd: cleanup the function multifd_channel_connect

Cleanup multifd_channel_connect

Signed-off-by: Li Zhang <lizhang@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: bca762c2b90979e8cf1f725cec3ddf888b7b898b
      
https://github.com/qemu/qemu/commit/bca762c2b90979e8cf1f725cec3ddf888b7b898b
  Author: Li Zhang <lizhang@suse.de>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/multifd.c

  Log Message:
  -----------
  multifd: Remove some redundant code

Clean up some unnecessary code

Signed-off-by: Li Zhang <lizhang@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: 93e0932b7be2498024cd6ba8446a0fa2cb1769bc
      
https://github.com/qemu/qemu/commit/93e0932b7be2498024cd6ba8446a0fa2cb1769bc
  Author: Peter Xu <peterx@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M include/standard-headers/drm/drm_fourcc.h
    M include/standard-headers/linux/ethtool.h
    M include/standard-headers/linux/fuse.h
    M include/standard-headers/linux/input-event-codes.h
    M include/standard-headers/linux/virtio_blk.h
    M linux-headers/asm-generic/hugetlb_encode.h
    M linux-headers/asm-generic/mman-common.h
    M linux-headers/asm-mips/mman.h
    M linux-headers/asm-riscv/kvm.h
    M linux-headers/linux/kvm.h
    M linux-headers/linux/psci.h
    M linux-headers/linux/userfaultfd.h
    M linux-headers/linux/vfio.h

  Log Message:
  -----------
  linux-headers: Update to v6.1

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: c40c0463413b941c13fe5f99a90c02d7d6584828
      
https://github.com/qemu/qemu/commit/c40c0463413b941c13fe5f99a90c02d7d6584828
  Author: Peter Xu <peterx@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M util/trace-events
    M util/userfaultfd.c

  Log Message:
  -----------
  util/userfaultfd: Support /dev/userfaultfd

Teach QEMU to use /dev/userfaultfd when it existed and fallback to the
system call if either it's not there or doesn't have enough permission.

Firstly, as long as the app has permission to access /dev/userfaultfd, it
always have the ability to trap kernel faults which QEMU mostly wants.
Meanwhile, in some context (e.g. containers) the userfaultfd syscall can be
forbidden, so it can be the major way to use postcopy in a restricted
environment with strict seccomp setup.

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: 51efd36faf2553d9f311cece14198c2ba7ece991
      
https://github.com/qemu/qemu/commit/51efd36faf2553d9f311cece14198c2ba7ece991
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Simplify ram_find_and_save_block()

We will need later that find_dirty_block() return errors, so
simplify the loop.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: 31e2ac742b6235cb5002ddd89bfbbf291e8923e3
      
https://github.com/qemu/qemu/commit/31e2ac742b6235cb5002ddd89bfbbf291e8923e3
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Make find_dirty_block() return a single parameter

We used to return two bools, just return a single int with the
following meaning:

old return / again / new return
false        false   PAGE_ALL_CLEAN
false        true    PAGE_TRY_AGAIN
true         true    PAGE_DIRTY_FOUND  /* We don't care about again at all */

Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: 8008a272d6b3aa4ba5a21c70786e107df65b9b51
      
https://github.com/qemu/qemu/commit/8008a272d6b3aa4ba5a21c70786e107df65b9b51
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Split ram_bytes_total_common() in two functions

It is just a big if in the middle of the function, and we need two
functions anways.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>

---

Reindent to make Phillipe happy (and CODING_STYLE)


  Commit: 8d80e1951e57f79ab3d4c156ba8eb71592f81b4c
      
https://github.com/qemu/qemu/commit/8d80e1951e57f79ab3d4c156ba8eb71592f81b4c
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Calculate ram size once

We are recalculating ram size continously, when we know that it don't
change during migration.  Create a field in RAMState to track it.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 4010ba388d9691cfba3762fce5b23c336abc98ba
      
https://github.com/qemu/qemu/commit/4010ba388d9691cfba3762fce5b23c336abc98ba
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Make ram_save_target_page() a pointer

We are going to create a new function for multifd latest in the series.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: e26470501271adf22e4f37d218c2164884ae96fb
      
https://github.com/qemu/qemu/commit/e26470501271adf22e4f37d218c2164884ae96fb
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration: I messed state_pending_exact/estimate

I called the helper function from the wrong top level function.

This code was introduced in:

commit c8df4a7aeffcb46020f610526eea621fa5b0cd47
Author: Juan Quintela <quintela@redhat.com>
Date:   Mon Oct 3 02:00:03 2022 +0200

    migration: Split save_live_pending() into state_pending_*

    We split the function into to:

    - state_pending_estimate: We estimate the remaining state size without
      stopping the machine.

    - state pending_exact: We calculate the exact amount of remaining
      state.

Thanks to Avihai Horon <avihaih@nvidia.com> for finding it.

Fixes:c8df4a7aeffcb46020f610526eea621fa5b0cd47

When we introduced that patch, we enden calling

state_pending_estimate() helper from qemu_savevm_statepending_exact()
and
state_pending_exact() helper from qemu_savevm_statepending_estimate()

This patch fixes it.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: 04ffce137b6d85ab4e7687e54e4dffcef0a9ab99
      
https://github.com/qemu/qemu/commit/04ffce137b6d85ab4e7687e54e4dffcef0a9ab99
  Author: ling xu <ling1.xu@intel.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M meson.build
    M meson_options.txt
    M migration/ram.c
    M migration/xbzrle.c
    M migration/xbzrle.h
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  AVX512 support for xbzrle_encode_buffer

This commit is the same with [PATCH v6 1/2], and provides avx512 support for 
xbzrle_encode_buffer
function to accelerate xbzrle encoding speed. Runtime check of avx512
support and benchmark for this feature are added. Compared with C
version of xbzrle_encode_buffer function, avx512 version can achieve
50%-70% performance improvement on benchmarking. In addition, if dirty
data is randomly located in 4K page, the avx512 version can achieve
almost 140% performance gain.

Signed-off-by: ling xu <ling1.xu@intel.com>
Co-authored-by: Zhou Zhao <zhou.zhao@intel.com>
Co-authored-by: Jun Jin <jun.i.jin@intel.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: cc98c9fd5c17b8ab62ad91b183060d8f70b9d00d
      
https://github.com/qemu/qemu/commit/cc98c9fd5c17b8ab62ad91b183060d8f70b9d00d
  Author: ling xu <ling1.xu@intel.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M tests/bench/meson.build
    A tests/bench/xbzrle-bench.c
    M tests/unit/test-xbzrle.c

  Log Message:
  -----------
  Update bench-code for addressing CI problem

Unit test code is in test-xbzrle.c, and benchmark code is in xbzrle-bench.c
for performance benchmarking. we have modified xbzrle-bench.c to address
CI problem.

Signed-off-by: ling xu <ling1.xu@intel.com>
Co-authored-by: Zhou Zhao <zhou.zhao@intel.com>
Co-authored-by: Jun Jin <jun.i.jin@intel.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: d6f74fd12e464325f260d157c221e29480c62368
      
https://github.com/qemu/qemu/commit/d6f74fd12e464325f260d157c221e29480c62368
  Author: Peter Xu <peterx@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/migration.c
    M migration/migration.h
    M migration/multifd.c
    M migration/postcopy-ram.c

  Log Message:
  -----------
  migration: Rework multi-channel checks on URI

The whole idea of multi-channel checks was not properly done, IMHO.

Currently we check multi-channel in a lot of places, but actually that's
not needed because we only need to check it right after we get the URI and
that should be it.

If the URI check succeeded, we should never need to check it again because
we must have it.  If it check fails, we should fail immediately on either
the qmp_migrate or qmp_migrate_incoming, instead of failingg it later after
the connection established.

Neither should we fail any set capabiliities like what we used to do here:

5ad15e8614 ("migration: allow enabling mutilfd for specific protocol only", 
2021-10-19)

Because logically the URI will only be set later after the capability is
set, so it doesn't make a lot of sense to check the URI type when setting
the capability, because we're checking the cap with an old URI passed in,
and that may not even be the URI we're going to use later.

This patch mostly reverted all such checks for before, dropping the
variable migrate_allow_multi_channels and helpers.  Instead, add a common
helper to check URI for multi-channels for either qmp_migrate and
qmp_migrate_incoming and that should do all the proper checks.  The failure
will only trigger with the "migrate" or "migrate_incoming" command, or when
user specified "-incoming xxx" where "xxx" is not "defer".

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: fc063a7b8ac0e1362897f4fb3f5c09dce2b2f5af
      
https://github.com/qemu/qemu/commit/fc063a7b8ac0e1362897f4fb3f5c09dce2b2f5af
  Author: Peter Xu <peterx@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/migration.c
    M migration/postcopy-ram.c
    M migration/postcopy-ram.h

  Log Message:
  -----------
  migration: Cleanup postcopy_preempt_setup()

Since we just dropped the only case where postcopy_preempt_setup() can
return an error, it doesn't need a retval anymore because it never fails.
Move the preempt check to the caller, preparing it to be used elsewhere to
do nothing but as simple as kicking the async connection.

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: b28fb58227aa88b940fd45b31b0f66c8e3b8cdc0
      
https://github.com/qemu/qemu/commit/b28fb58227aa88b940fd45b31b0f66c8e3b8cdc0
  Author: Peter Xu <peterx@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/migration.c
    M migration/migration.h

  Log Message:
  -----------
  migration: Add a semaphore to count PONGs

This is mostly useless, but useful for us to know whether the main channel
is correctly established without changing the migration protocol.

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: 5655aab0794b5c82e61683cab215c5f745be8af3
      
https://github.com/qemu/qemu/commit/5655aab0794b5c82e61683cab215c5f745be8af3
  Author: Peter Xu <peterx@redhat.com>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M migration/migration.c
    M migration/migration.h
    M migration/postcopy-ram.c
    M migration/postcopy-ram.h
    M migration/savevm.c

  Log Message:
  -----------
  migration: Postpone postcopy preempt channel to be after main

Postcopy with preempt-mode enabled needs two channels to communicate.  The
order of channel establishment is not guaranteed.  It can happen that the
dest QEMU got the preempt channel connection request before the main
channel is established, then the migration may make no progress even during
precopy due to the wrong order.

To fix it, create the preempt channel only if we know the main channel is
established.

For a general postcopy migration, we delay it until postcopy_start(),
that's where we already went through some part of precopy on the main
channel.  To make sure dest QEMU has already established the channel, we
wait until we got the first PONG received.  That's something we do at the
start of precopy when postcopy enabled so it's guaranteed to happen sooner
or later.

For a postcopy recovery, we delay it to qemu_savevm_state_resume_prepare()
where we'll have round trips of data on bitmap synchronizations, which
means the main channel must have been established.

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: e5bac1f525472d6042a4cdba31dda5825cde0086
      
https://github.com/qemu/qemu/commit/e5bac1f525472d6042a4cdba31dda5825cde0086
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M migration/migration.c
    M migration/multifd.c
    M migration/multifd.h

  Log Message:
  -----------
  migration/multifd: Change multifd_load_cleanup() signature and usage

Since it's introduction in commit f986c3d256 ("migration: Create multifd
migration threads"), multifd_load_cleanup() never returned any value
different than 0, neither set up any error on errp.

Even though, on process_incoming_migration_bh() an if clause uses it's
return value to decide on setting autostart = false, which will never
happen.

In order to simplify the codebase, change multifd_load_cleanup() signature
to 'void multifd_load_cleanup(void)', and for every usage remove error
handling or decision made based on return value != 0.

Fixes: b5eea99ec2 ("migration: Add yank feature")
Reported-by: Li Xiaohui <xiaohli@redhat.com>
Signed-off-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: d926f3bb2a84fdb746678629279a143f568c3c86
      
https://github.com/qemu/qemu/commit/d926f3bb2a84fdb746678629279a143f568c3c86
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M migration/multifd.c

  Log Message:
  -----------
  migration/multifd: Remove unnecessary assignment on multifd_load_cleanup()

Before assigning "p->quit = true" for every multifd channel,
multifd_load_cleanup() will call multifd_recv_terminate_threads() which
already does the same assignment, while protected by a mutex.

So there is no point doing the same assignment again.

Fixes: b5eea99ec2 ("migration: Add yank feature")
Reported-by: Li Xiaohui <xiaohli@redhat.com>
Signed-off-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: 10351fbad1ee1c1827073c8b2bd644fc897c8ceb
      
https://github.com/qemu/qemu/commit/10351fbad1ee1c1827073c8b2bd644fc897c8ceb
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M migration/multifd.c

  Log Message:
  -----------
  migration/multifd: Join all multifd threads in order to avoid leaks

Current approach will only join threads that are still running.

For the threads not joined, resources or private memory are always kept in
the process space and never reclaimed before process end, and this risks
serious memory leaks.

This should usually not represent a big problem, since multifd migration
is usually just ran at most a few times, and after it succeeds there is
not much to be done before exiting the process.

Yet still, it should not hurt performance to join all of them.

Fixes: b5eea99ec2 ("migration: Add yank feature")
Reported-by: Li Xiaohui <xiaohli@redhat.com>
Signed-off-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: cfc3bcf373218fb8757b0ff1ce2017b9b6ad4bff
      
https://github.com/qemu/qemu/commit/cfc3bcf373218fb8757b0ff1ce2017b9b6ad4bff
  Author: Leonardo Bras <leobras@redhat.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M migration/migration.c
    M migration/multifd.c
    M migration/multifd.h

  Log Message:
  -----------
  migration/multifd: Move load_cleanup inside incoming_state_destroy

Currently running migration_incoming_state_destroy() without first running
multifd_load_cleanup() will cause a yank error:

qemu-system-x86_64: ../util/yank.c:107: yank_unregister_instance:
Assertion `QLIST_EMPTY(&entry->yankfns)' failed.
(core dumped)

The above error happens in the target host, when multifd is being used
for precopy, and then postcopy is triggered and the migration finishes.
This will crash the VM in the target host.

To avoid that, move multifd_load_cleanup() inside
migration_incoming_state_destroy(), so that the load cleanup becomes part
of the incoming state destroying process.

Running multifd_load_cleanup() twice can become an issue, though, but the
only scenario it could be ran twice is on process_incoming_migration_bh().
So removing this extra call is necessary.

On the other hand, this multifd_load_cleanup() call happens way before the
migration_incoming_state_destroy() and having this happening before
dirty_bitmap_mig_before_vm_start() and vm_start() may be a need.

So introduce a new function multifd_load_shutdown() that will mainly stop
all multifd threads and close their QIOChannels. Then use this function
instead of multifd_load_cleanup() to make sure nothing else is received
before dirty_bitmap_mig_before_vm_start().

Fixes: b5eea99ec2 ("migration: Add yank feature")
Reported-by: Li Xiaohui <xiaohli@redhat.com>
Signed-off-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: 7b548761e5d084f2fc0fc4badebab227b51a8a84
      
https://github.com/qemu/qemu/commit/7b548761e5d084f2fc0fc4badebab227b51a8a84
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  ram: Document migration ram flags

0x80 is RAM_SAVE_FLAG_HOOK, it is in qemu-file now.
Bigger usable flag is 0x200, noticing that.
We can reuse RAM_SAVe_FLAG_FULL.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: f670b3eec7f5d1ed8c4573ef244e7b8c6b32001b
      
https://github.com/qemu/qemu/commit/f670b3eec7f5d1ed8c4573ef244e7b8c6b32001b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    R configs/devices/x86_64-softmmu/x86_64-quintela-devices.mak
    R configs/devices/x86_64-softmmu/x86_64-quintela2-devices.mak
    M include/standard-headers/drm/drm_fourcc.h
    M include/standard-headers/linux/ethtool.h
    M include/standard-headers/linux/fuse.h
    M include/standard-headers/linux/input-event-codes.h
    M include/standard-headers/linux/virtio_blk.h
    M linux-headers/asm-generic/hugetlb_encode.h
    M linux-headers/asm-generic/mman-common.h
    M linux-headers/asm-mips/mman.h
    M linux-headers/asm-riscv/kvm.h
    M linux-headers/linux/kvm.h
    M linux-headers/linux/psci.h
    M linux-headers/linux/userfaultfd.h
    M linux-headers/linux/vfio.h
    M meson.build
    M meson_options.txt
    M migration/migration.c
    M migration/migration.h
    M migration/multifd.c
    R migration/multifd.c.orig
    M migration/multifd.h
    M migration/postcopy-ram.c
    M migration/postcopy-ram.h
    M migration/ram.c
    M migration/savevm.c
    M migration/xbzrle.c
    M migration/xbzrle.h
    M scripts/meson-buildoptions.sh
    M tests/bench/meson.build
    A tests/bench/xbzrle-bench.c
    M tests/unit/test-xbzrle.c
    M util/trace-events
    M util/userfaultfd.c

  Log Message:
  -----------
  Merge tag 'migration-20230213-pull-request' of 
https://gitlab.com/juan.quintela/qemu into staging

Migration Pull request (take3)

Hi

In this PULL request:
- Added to leonardo fixes:
Fixes: b5eea99ec2 ("migration: Add yank feature")
Reported-by: Li Xiaohui <xiaohli@redhat.com>

Please apply.

[take 2]
- rebase to latest upstream
- fix compilation of linux-user (if have_system was missing) (me)
- cleanup multifd_load_cleanup(leonardo)
- Document RAM flags (me)

Please apply.

[take 1]
This are all the reviewed patches for migration:
- AVX512 support for xbzrle (Ling Xu)
- /dev/userfaultd support (Peter Xu)
- Improve ordering of channels (Peter Xu)
- multifd cleanups (Li Zhang)
- Remove spurious files from last merge (me)
  Rebase makes that to you
- Fix mixup between state_pending_{exact,estimate} (me)
- Cache RAM size during migration (me)
- cleanup several functions (me)

Please apply.

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmPppZYACgkQ9IfvGFhy
# 1yPLvQ//f8D6txzFawaxrfzpSAHnq70Gx+B5GkIwgwB8nlPIC3QELEf5uooM/RGA
# nSaUctUNOJUWqVGK3vp3jDIep02DzdIUrlOfy96h+pnTMpyMWFC2BexDfveVMUId
# dw8WCWZkGCFDfIWuKF+GA8eTu6HM1ouzgCJrRmPtCqsikzAPkogPm60hQSTAQxm9
# Kzdp1SXV1HmyA440vy8rtYf71BKpvb9OJFmwgZ+ICy0rc1aUmgJbKxkwyOgiI2lq
# ONekpbOg7lzlFVAQu1QHTmYN13bsn4uzwUgdifn1PixFQyRE3AVs4jdTmqeLnoPe
# Ac6j8v3pDOw/Xf4kpRWUmhkqTMEJt8/lyneJzu1mQkw0wwiUtDvknFgPG8wJsa+J
# ZQr1cBXQj4IjtkN6+ixF7XYvx3T6pWz0L+/w2+TbFBdLWIrPgFH0yPYjhx7FdDid
# cjUHyS1a0w9ngnXOxRG8+UNHWCpPOUhXeeiyNioogYZNKu77PFxJVDMe3eB6dXAB
# pDfl4P129PloKAPafcz9E6Sxr+lIgrETZmsRJlRz4czg18TxlIukMlDtyrepNWti
# GtIf9xTpP3JKjpHnKbWLaxP5VeFC7kQd0qas4VxD+tDjbJdUZdZMfHcOSS0SMRGe
# q5LVEzMMIPCQJQIqiLEJ0HTUUOtB8i+bGoirNEbDqhLa/oZwPP8=
# =TDnO
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 13 Feb 2023 02:51:02 GMT
# gpg:                using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [full]
# gpg:                 aka "Juan Quintela <quintela@trasno.org>" [full]
# Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723

* tag 'migration-20230213-pull-request' of 
https://gitlab.com/juan.quintela/qemu: (22 commits)
  ram: Document migration ram flags
  migration/multifd: Move load_cleanup inside incoming_state_destroy
  migration/multifd: Join all multifd threads in order to avoid leaks
  migration/multifd: Remove unnecessary assignment on multifd_load_cleanup()
  migration/multifd: Change multifd_load_cleanup() signature and usage
  migration: Postpone postcopy preempt channel to be after main
  migration: Add a semaphore to count PONGs
  migration: Cleanup postcopy_preempt_setup()
  migration: Rework multi-channel checks on URI
  Update bench-code for addressing CI problem
  AVX512 support for xbzrle_encode_buffer
  migration: I messed state_pending_exact/estimate
  migration: Make ram_save_target_page() a pointer
  migration: Calculate ram size once
  migration: Split ram_bytes_total_common() in two functions
  migration: Make find_dirty_block() return a single parameter
  migration: Simplify ram_find_and_save_block()
  util/userfaultfd: Support /dev/userfaultfd
  linux-headers: Update to v6.1
  multifd: Remove some redundant code
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/3b33ae48ec28...f670b3eec7f5



reply via email to

[Prev in Thread] Current Thread [Next in Thread]