[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 11a4fd: migration: Remove spurious files
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 11a4fd: migration: Remove spurious files |
Date: |
Fri, 10 Feb 2023 02:55:49 -0800 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 11a4fdf360295f0c5db2adb4de146f72fed0a4cf
https://github.com/qemu/qemu/commit/11a4fdf360295f0c5db2adb4de146f72fed0a4cf
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 7f0ec6992a3dd4805fdf5af410d5998456e01ab0
https://github.com/qemu/qemu/commit/7f0ec6992a3dd4805fdf5af410d5998456e01ab0
Author: Li Zhang <lizhang@suse.de>
Date: 2023-02-09 (Thu, 09 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: 5c10f78a8e71cc5ed2aa9ba4d49141c27df0a24a
https://github.com/qemu/qemu/commit/5c10f78a8e71cc5ed2aa9ba4d49141c27df0a24a
Author: Li Zhang <lizhang@suse.de>
Date: 2023-02-09 (Thu, 09 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: 93c871e6b7499f37b2dc3d347257f41417dbe075
https://github.com/qemu/qemu/commit/93c871e6b7499f37b2dc3d347257f41417dbe075
Author: Peter Xu <peterx@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 49858b698c0a7db6a556ef3d1d01925f6ad79c02
https://github.com/qemu/qemu/commit/49858b698c0a7db6a556ef3d1d01925f6ad79c02
Author: Peter Xu <peterx@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 75311a67e4d3d7f1667b3a22c5f87f2ee111175c
https://github.com/qemu/qemu/commit/75311a67e4d3d7f1667b3a22c5f87f2ee111175c
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 816150528b6aa44d60113fe77667665eb5b8b12c
https://github.com/qemu/qemu/commit/816150528b6aa44d60113fe77667665eb5b8b12c
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 57906a75744c22543cba3d6252f5deddea49cacf
https://github.com/qemu/qemu/commit/57906a75744c22543cba3d6252f5deddea49cacf
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-02-09 (Thu, 09 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: bb63c3aec89df85422de066ca47b84485df9451d
https://github.com/qemu/qemu/commit/bb63c3aec89df85422de066ca47b84485df9451d
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 777951d46643cdb4576e00c4c47972d05b215940
https://github.com/qemu/qemu/commit/777951d46643cdb4576e00c4c47972d05b215940
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 2aadffb0bd38730a62bc81649300130994b86aee
https://github.com/qemu/qemu/commit/2aadffb0bd38730a62bc81649300130994b86aee
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-02-09 (Thu, 09 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: af25ac3ad07a9256d359cb24601b13e9109d8a8b
https://github.com/qemu/qemu/commit/af25ac3ad07a9256d359cb24601b13e9109d8a8b
Author: ling xu <ling1.xu@intel.com>
Date: 2023-02-09 (Thu, 09 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: 1723c667843a55362c16be88a151f4876a70238b
https://github.com/qemu/qemu/commit/1723c667843a55362c16be88a151f4876a70238b
Author: ling xu <ling1.xu@intel.com>
Date: 2023-02-09 (Thu, 09 Feb 2023)
Changed paths:
M MAINTAINERS
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: fab94a272dceba7f543795ecedeed0b92d63e9fb
https://github.com/qemu/qemu/commit/fab94a272dceba7f543795ecedeed0b92d63e9fb
Author: Peter Xu <peterx@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 01981a47b43bf133679bee1e2f31e36fcd2d8e20
https://github.com/qemu/qemu/commit/01981a47b43bf133679bee1e2f31e36fcd2d8e20
Author: Peter Xu <peterx@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 0be298f39b3a02e0c358239902f4f5265b61b3cd
https://github.com/qemu/qemu/commit/0be298f39b3a02e0c358239902f4f5265b61b3cd
Author: Peter Xu <peterx@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 858191aebda251a4d1e3bc77b238096673241cdd
https://github.com/qemu/qemu/commit/858191aebda251a4d1e3bc77b238096673241cdd
Author: Peter Xu <peterx@redhat.com>
Date: 2023-02-09 (Thu, 09 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: 90595cc9396bb910b148391fea2e78dd8c6c8b27
https://github.com/qemu/qemu/commit/90595cc9396bb910b148391fea2e78dd8c6c8b27
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2023-02-10 (Fri, 10 Feb 2023)
Changed paths:
M MAINTAINERS
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/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-20230209-pull-request' of
https://gitlab.com/juan.quintela/qemu into staging
Migration Pull request
Hi
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/WMzuA0uC9IfvGFhy1yMFAmPlgugACgkQ9IfvGFhy
# 1yPkIA//f6x3Zo9ll+rQX8B0LdnnuR4Gp5zai0mlxZP0673bkZfL9PqU+bMGrja0
# YH0HIrINBSFiOw6W/jK7ghR2dZcLp2zuq8X8btoU9xp4LW9fOLPMMMa61daMHXKd
# 8HAk00J+C2O1fLnym0egux0u6yRsrXYJ9FoJkoVI7dud5vVxJXriYz0R5hd9fqQW
# 0REDAZwCJ4hsKLzvXtrL3uJxm2AlYsZHL41IdFPSeNzDg9lAQbXhgsZ2wMp4AvKm
# H2GhNSf47/91dUSA/4eoMPDNyfpT3MJhMB2UZZMOI3FIfkyI3BoUNqXciJE0X50U
# TdxCJuRfN4xnuIN2zCriPkWNqzql2SBZREEm0g/Srpp5aKL3xATt5GtW4r/s/j6F
# NHPf/ad8hHZHg9YrWHDNtjmjr7oOzRoCTmWS8VtTuj7fa4f9fiOKUws5DqD5wvMU
# LclVWisNZ18ITebnJnktck65naJOGd06JplESvCBCKqiAzZzIxPRAMoI2fyWllks
# rI/+KShLZ3GtYGGcqv2RaI8i3kcG1VxBxINLneTImsP24t8ougKq/f53/OkiJUko
# GmMVl9aWSqI71N3mA/h1VVgsnUGxL4avBxrjfUfNQD8YOuo6bLqM3X/FkWxsRoOo
# F2XuKjxMLqhIYwIvoAYBdhmS/muU3qM9QkMoWdi7ZFixmAScm9w=
# =mKFF
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 09 Feb 2023 23:34:00 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-20230209-pull-request' of
https://gitlab.com/juan.quintela/qemu:
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
multifd: cleanup the function multifd_channel_connect
migration: Remove spurious files
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/3b33ae48ec28...90595cc9396b
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 11a4fd: migration: Remove spurious files,
Peter Maydell <=