Re: [PATCH RFC 00/26] Multifd  device state transfer support with VFIO consumer

2024-04-19 Thread Peter Xu
On Fri, Apr 19, 2024 at 11:07:21AM +0100, Daniel P. Berrangé wrote: > On Thu, Apr 18, 2024 at 04:02:49PM -0400, Peter Xu wrote: > > On Thu, Apr 18, 2024 at 08:14:15PM +0200, Maciej S. Szmigiero wrote: > > > I think one of the reasons for these results is that mixed (RAM +

Re: [PATCH RFC 00/26] Multifd  device state transfer support with VFIO consumer

2024-04-18 Thread Peter Xu
is now about 1450 msec. > I guess that's from all the extra overhead from switching between 100 > multifd channels. 100 threads are probably too much indeed. However I agree with Dan's question raised, and I'd like to second that. It so far looks better if the multifd channels can be managed just like a pool of workers without assignments to specific jobs. It looks like this series is already getting there, it's a pity we lose that genericity only because some other side effects on the ram sync semantics. > > I think one of the reasons for these results is that mixed (RAM + device > state) multifd channels participate in the RAM sync process > (MULTIFD_FLAG_SYNC) whereas device state dedicated channels don't. Firstly, I'm wondering whether we can have better names for these new hooks. Currently (only comment on the async* stuff): - complete_precopy_async - complete_precopy - complete_precopy_async_wait But perhaps better: - complete_precopy_begin - complete_precopy - complete_precopy_end ? As I don't see why the device must do something with async in such hook. To me it's more like you're splitting one process into multiple, then begin/end sounds more generic. Then, if with that in mind, IIUC we can already split ram_save_complete() into >1 phases too. For example, I would be curious whether the performance will go back to normal if we offloading multifd_send_sync_main() into the complete_precopy_end(), because we really only need one shot of that, and I am quite surprised it already greatly affects VFIO dumping its own things. I would even ask one step further as what Dan was asking: have you thought about dumping VFIO states via multifd even during iterations? Would that help even more than this series (which IIUC only helps during the blackout phase)? It could mean that the "async*" hooks can be done differently, and I'm not sure whether they're needed at all, e.g. when threads are created during save_setup but cleaned up in save_cleanup. Thanks, > > It is possible that there are other subtle performance interactions too, > but I am not 100% sure about that. > > > With regards, > > Daniel > > Best regards, > Maciej > -- Peter Xu

Re: [PATCH] migration: do not exit on incoming failure

2024-04-18 Thread Peter Xu
eing equivalent to '-incoming defer' but without the > > implicit exit. > > > > Probably, that's the best variant. As I can check libvirt in some case, but > not at all cases. And libvirt is not the only vm manager finally. > And we can in the same time deprecate "-incoming defer" in favor of new > behavior. Or just make it a new migration parameter? Then we keep all existing interfaces untouched, no risk of breaking anyone, and then it'll also apply to anyone who uses things like -incoming tcp but still wants to keep the qemu instance alive? Thanks, -- Peter Xu

Re: [PATCH v2] migration/colo: Fix bdrv_graph_rdlock_main_loop: Assertion `!qemu_in_coroutine()' failed.

2024-04-17 Thread Peter Xu
at > ../util/coroutine-ucontext.c:175 > #10 0x7fd2a5cf21c0 in () at /lib64/libc.so.6 > > CC: Fabiano Rosas > Closes: https://gitlab.com/qemu-project/qemu/-/issues/2277 > Fixes: 2b3912f135 ("block: Mark bdrv_first_blk() and bdrv_is_root_node() > GRAPH_RDLOCK") > Signed-off-by: Li Zhijian queued (and cc stable), thanks. -- Peter Xu

Re: [QEMU][PATCH v3 5/7] memory: add MemoryRegion map and unmap callbacks

2024-04-16 Thread Peter Xu
On Tue, Apr 16, 2024 at 03:28:41PM +0200, Jürgen Groß wrote: > On 16.04.24 13:32, Edgar E. Iglesias wrote: > > On Wed, Apr 10, 2024 at 8:56 PM Peter Xu wrote: > > > > > > On Wed, Apr 10, 2024 at 06:44:38PM +0200, Edgar E. Iglesias wrote: > > > > On Tue,

Re: [PATCH 1/4] Revert "migration: modify test_multifd_tcp_none() to use new QAPI syntax"

2024-04-12 Thread Peter Xu
On Fri, Apr 12, 2024 at 11:58:43AM -0300, Fabiano Rosas wrote: > Peter Xu writes: > > > On Thu, Apr 11, 2024 at 04:41:16PM -0300, Fabiano Rosas wrote: > >> Peter Xu writes: > >> > >> > On Thu, Apr 11, 2024 at 11:31:08PM +0530, Het Gala wrote:

Re: [PATCH 1/4] Revert "migration: modify test_multifd_tcp_none() to use new QAPI syntax"

2024-04-12 Thread Peter Xu
On Thu, Apr 11, 2024 at 04:41:16PM -0300, Fabiano Rosas wrote: > Peter Xu writes: > > > On Thu, Apr 11, 2024 at 11:31:08PM +0530, Het Gala wrote: > >> I just wanted to highlight couple of pointers: > >> 1. though we are using 'channels' in the precopy tes

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-04-12 Thread Peter Xu
. I think we need people that understand these stuff well enough, have dedicated time and look after it. Thanks, -- Peter Xu

Re: [PATCH 1/4] Revert "migration: modify test_multifd_tcp_none() to use new QAPI syntax"

2024-04-11 Thread Peter Xu
> 2. Extend channels interface to migrate-incoming QAPI for precopy qtests You can see whether Fabiano has anything to say, but what you proposed looks good to me. Thanks! -- Peter Xu

Re: [PATCH 1/4] Revert "migration: modify test_multifd_tcp_none() to use new QAPI syntax"

2024-04-11 Thread Peter Xu
On Thu, Apr 11, 2024 at 07:45:21PM +0530, Het Gala wrote: > > On 10/04/24 8:23 pm, Peter Xu wrote: > > !---| > >CAUTI

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-04-11 Thread Peter Xu
On Wed, Apr 10, 2024 at 09:49:15AM -0400, Peter Xu wrote: > On Wed, Apr 10, 2024 at 02:28:59AM +, Zhijian Li (Fujitsu) via wrote: > > > > > > on 4/10/2024 3:46 AM, Peter Xu wrote: > > > > >> Is there document/link about the unittest/CI for migration te

Re: [QEMU][PATCH v3 5/7] memory: add MemoryRegion map and unmap callbacks

2024-04-10 Thread Peter Xu
In that case, is there any option we implement it with direct access mode (however with some extra dynamic permissions applied on top using some mechanism)? - perhaps sold old links would be great too so people can read about the context when it's not obvious, without a need to copy-paste. Thanks, -- Peter Xu

Re: [PATCH 1/4] Revert "migration: modify test_multifd_tcp_none() to use new QAPI syntax"

2024-04-10 Thread Peter Xu
then perhaps we don't need to test anywhere else, as we got the code paths all covered. We actually do the same already for all kinds of channels for postcopy, where we stick with either tcp/unix but don't cover the rest. -- Peter Xu

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-04-10 Thread Peter Xu
On Wed, Apr 10, 2024 at 02:28:59AM +, Zhijian Li (Fujitsu) via wrote: > > > on 4/10/2024 3:46 AM, Peter Xu wrote: > > >> Is there document/link about the unittest/CI for migration tests, Why > >> are those tests missing? > >> Is it hard o

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-04-09 Thread Peter Xu
On Tue, Apr 09, 2024 at 09:32:46AM +0200, Jinpu Wang wrote: > Hi Peter, > > On Mon, Apr 8, 2024 at 6:18 PM Peter Xu wrote: > > > > On Mon, Apr 08, 2024 at 04:07:20PM +0200, Jinpu Wang wrote: > > > Hi Peter, > > > > Jinpu, > > > > Thanks for

Re: [PATCH v2 0/3] qtest/migration: Fixes around multifd_tcp_channels_none migration qtest

2024-04-09 Thread Peter Xu
t; > Het Gala (3): > fixup! tests/qtest/migration: Add negative tests to validate migration > QAPIs > fixup! tests/qtest/migration: Add migrate_set_ports into migrate_qmp > to update migration port value > fixup! tests/qtest/migration: Add multifd_tcp_plain test using list of > channels instead of uri queued, thanks. -- Peter Xu

Re: [PATCH 1/2] Fix typo to allow migrate_qmp_fail command with 'channels' argument

2024-04-08 Thread Peter Xu
Het, It's all fine, no worries! This is good enough. Let's finish the discussion in the next patch before a repost. Thanks, On Mon, Apr 8, 2024, 2:35 p.m. Het Gala wrote: > > On 08/04/24 9:05 pm, Peter Xu

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-04-08 Thread Peter Xu
On Mon, Apr 08, 2024 at 04:07:20PM +0200, Jinpu Wang wrote: > Hi Peter, Jinpu, Thanks for joining the discussion. > > On Tue, Apr 2, 2024 at 11:24 PM Peter Xu wrote: > > > > On Mon, Apr 01, 2024 at 11:26:25PM +0200, Yu Zhang wrote: > > > Hello Peter und Zhjian,

Re: [PATCH 2/2] Call args->connect_channels to actually test multifd_tcp_channels_none qtest

2024-04-08 Thread Peter Xu
-migrate_qmp(from, to, args->connect_uri, NULL, "{}"); > +migrate_qmp(from, to, args->connect_uri, args->connect_channels, "{}"); > > if (args->result != MIG_TEST_SUCCEED) { > bool allow_active = args->result == MIG_TEST_FAIL; > -- > 2.22.3 > -- Peter Xu

Re: [PATCH 1/2] Fix typo to allow migrate_qmp_fail command with 'channels' argument

2024-04-08 Thread Peter Xu
_QMP_ERROR) { > -migrate_qmp_fail(from, args->connect_uri, args->connect_uri, "{}"); > +migrate_qmp_fail(from, args->connect_uri, args->connect_channels, > "{}"); > goto finish; > } -- Peter Xu

Re: [PATCH for-9.0] MAINTAINERS: Adjust migration documentation files

2024-04-07 Thread Peter Xu
53 ("docs/migration: Split 'dirty limit'") > Signed-off-by: Avihai Horon queued for rc3, thanks. -- Peter Xu

Re: [PATCH v2] migration/postcopy: ensure preempt channel is ready before loading states

2024-04-05 Thread Peter Xu
gt; the main thread in the case that the channel create event hasn't been > dispatched. > > Originally-by: Lei Wang > Link: > https://lore.kernel.org/all/9aa5d1be-7801-40dd-83fd-f7e041ced...@intel.com/T/ > Suggested-by: Peter Xu The current version doesn't have any of my credits.

Re: [PATCH v1] migration/postcopy: ensure preempt channel is ready before loading states

2024-04-04 Thread Peter Xu
On Fri, Apr 05, 2024 at 01:38:31AM +, Wang, Wei W wrote: > On Friday, April 5, 2024 4:57 AM, Peter Xu wrote: > > On Fri, Apr 05, 2024 at 12:48:15AM +0800, Wang, Lei wrote: > > > On 4/5/2024 0:25, Wang, Wei W wrote:> On Thursday, April 4, 2024 10:12 > > > PM, P

Re: [PATCH v1] migration/postcopy: ensure preempt channel is ready before loading states

2024-04-04 Thread Peter Xu
On Fri, Apr 05, 2024 at 12:48:15AM +0800, Wang, Lei wrote: > On 4/5/2024 0:25, Wang, Wei W wrote:> On Thursday, April 4, 2024 10:12 PM, > Peter > Xu wrote: > >> On Thu, Apr 04, 2024 at 06:05:50PM +0800, Wei Wang wrote: > >>> Before loading the guest states, en

Re: [PATCH v1] migration/postcopy: ensure preempt channel is ready before loading states

2024-04-04 Thread Peter Xu
gt; the main thread in the case that the channel create event has been > dispatched. > > Originally-by: Lei Wang > Link: > https://lore.kernel.org/all/9aa5d1be-7801-40dd-83fd-f7e041ced...@intel.com/T/ > Suggested-by: Peter Xu > Signed-off-by: Lei Wang > Signed-off-by: W

Re: [PATCH 1/1] migration/multifd: solve zero page causing multiple page faults

2024-04-03 Thread Peter Xu
57,7 @@ struct RAMBlock { off_t bitmap_offset; uint64_t pages_offset; -/* bitmap of already received pages in postcopy */ +/* Bitmap of already received pages. Only used on destination side. */ unsigned long *receivedmap; /* ===8<=== -- Peter Xu

Re: [PATCH] migration: Yield coroutine when receiving MIG_CMD_POSTCOPY_LISTEN

2024-04-03 Thread Peter Xu
On Wed, Apr 03, 2024 at 04:04:21PM +, Wang, Wei W wrote: > On Wednesday, April 3, 2024 10:42 PM, Peter Xu wrote: > > On Wed, Apr 03, 2024 at 04:35:35PM +0800, Wang, Lei wrote: > > > We should change the following line from > > > > > > while (!qemu_sem_t

Re: [PATCH] migration: Yield coroutine when receiving MIG_CMD_POSTCOPY_LISTEN

2024-04-03 Thread Peter Xu
it can catch it. It seems important if Wei can always reproduce it. Thanks, -- Peter Xu

Re: [PATCH] migration: Yield coroutine when receiving MIG_CMD_POSTCOPY_LISTEN

2024-04-02 Thread Peter Xu
rg/qemu-devel/20230326172540.2571110-1-pet...@redhat.com/ My memory was that we didn't have a good solution to fix it without breaking the old protocol, so it can only be fixed on newer binaries. Thanks, -- Peter Xu

Re: [PATCH] migration: Yield coroutine when receiving MIG_CMD_POSTCOPY_LISTEN

2024-04-02 Thread Peter Xu
On Tue, Apr 02, 2024 at 05:28:36PM +0800, Wang, Lei wrote: > On 4/2/2024 15:25, Wang, Wei W wrote:> On Tuesday, April 2, 2024 2:56 PM, > Wang, > Lei4 wrote: > >> On 4/2/2024 0:13, Peter Xu wrote:> On Fri, Mar 29, 2024 at 08:54:07AM > >> +, > >> Wan

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-04-02 Thread Peter Xu
IC to outperform RDMAs, then it may make little sense to maintain multiple protocols, considering RDMA migration code is so special so that it has the most custom code comparing to other protocols. Thanks, -- Peter Xu

Re: [PATCH] migration: Yield coroutine when receiving MIG_CMD_POSTCOPY_LISTEN

2024-04-01 Thread Peter Xu
On Mon, Apr 01, 2024 at 02:17:28PM -0300, Fabiano Rosas wrote: > Peter Xu writes: > > > On Fri, Mar 29, 2024 at 08:54:07AM +, Wang, Wei W wrote: > >> On Friday, March 29, 2024 11:32 AM, Wang, Lei4 wrote: > >> > When using the post-copy preemption

Re: [PATCH] migration, docs: mark RDMA migration as deprecated

2024-04-01 Thread Peter Xu
to inform the end users of the RDMA migration status. > > [1] https://lore.kernel.org/r/20230920090412.726725-1-lizhij...@fujitsu.com > [2] > https://lore.kernel.org/r/cahecvy7hxswn4ow_kog+q+tn6f_kmeichevz1qgm-fbxbpp...@mail.gmail.com > > CC: Peter Xu > CC: Philippe Mathieu-Daud

Re: [PATCH] migration: Yield coroutine when receiving MIG_CMD_POSTCOPY_LISTEN

2024-04-01 Thread Peter Xu
PY PostcopyTmpPage immediately. @@ -1743,12 +1763,6 @@ void *postcopy_preempt_thread(void *opaque) qemu_sem_post(>thread_sync_sem); -/* - * The preempt channel is established in asynchronous way. Wait - * for its completion. - */ -qemu_sem_wait(>postcopy_qemufile_dst_done); - /* Sending RAM_SAVE_FLAG_EOS to terminate this thread */ qemu_mutex_lock(>postcopy_prio_thread_mutex); while (preempt_thread_should_run(mis)) { -- 2.44.0 -- Peter Xu

Re: [PATCH for-9.1] migration: Add Error** argument to add_bitmaps_to_list()

2024-04-01 Thread Peter Xu
ly on top of : > https://lore.kernel.org/qemu-devel/20240320064911.545001-1-...@redhat.com/ queued, thanks. -- Peter Xu

Re: [PATCH 15/19] migration: fix -Werror=maybe-uninitialized false-positive

2024-03-28 Thread Peter Xu
igned-off-by: Marc-André Lureau Acked-by: Peter Xu -- Peter Xu

Re: [PATCH 12/19] migration: fix -Werror=maybe-uninitialized false-positives

2024-03-28 Thread Peter Xu
d uninitialized > [-Werror=maybe-uninitialized] > ../migration/migration.c:2273:5: error: ‘file’ may be used uninitialized > [-Werror=maybe-uninitialized] > > Signed-off-by: Marc-André Lureau Acked-by: Peter Xu -- Peter Xu

Re: [PATCH 11/19] migration/block: fix -Werror=maybe-uninitialized false-positive

2024-03-28 Thread Peter Xu
BLOCK_SIZE, the previous > loop is entered at least once, so 'ret' is assigned a value in all conditions. > > Signed-off-by: Marc-André Lureau Acked-by: Peter Xu -- Peter Xu

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-03-28 Thread Peter Xu
two more releases. Hopefully that can ring a louder alarm to the current users with such warnings, so that people can either stick with old binaries, or invest developer/test resources to the community. Thanks, -- Peter Xu

Re: [PATCH for-9.0 0/2] migration: Two migration bug fixes

2024-03-28 Thread Peter Xu
gt; migration/postcopy: Ensure postcopy_start() sets errp if it fails queued for 9.0-rc2, thanks. -- Peter Xu

Re: [PATCH v5 0/7] Live Migration With IAA

2024-03-28 Thread Peter Xu
7657 198 654102221176 Thanks for the test results. So I am guessing the migration overheads besides pushing the socket is high enough to make it drop drastically, even if in this case zero detection shouldn't play a major role considering most of guest mem is pre-filled. -- Peter Xu

Re: [PATCH v5 5/7] migration/multifd: implement initialization of qpl compression

2024-03-28 Thread Peter Xu
On Thu, Mar 28, 2024 at 02:32:37AM +, Liu, Yuan1 wrote: > > -Original Message- > > From: Peter Xu > > Sent: Thursday, March 28, 2024 3:26 AM > > To: Liu, Yuan1 > > Cc: Daniel P. Berrangé ; faro...@suse.de; qemu- > > de...@nongnu.org; hao.xi...@byte

Re: [PATCH for-9.0 2/2] migration/postcopy: Ensure postcopy_start() sets errp if it fails

2024-03-28 Thread Peter Xu
> > Fix it by setting errp in all of postcopy_start() error paths. > > Fixes: 908927db28ea ("migration: Update error description whenever migration > fails") I think this should need: Cc: qemu-stable > Signed-off-by: Avihai Horon Reviewed-by: Peter Xu -- Peter Xu

Re: [PATCH for-9.0 1/2] migration: Set migration error in migration_completion()

2024-03-28 Thread Peter Xu
quot;migration: Join the return path > thread before releasing to_dst_file"), as shutdown() will not be issued > for the return-path channel. > > Fix it by ensuring migration error is set in case of error in > migration_completion(). > > Signed-off-by: Avihai Horon Review

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-03-28 Thread Peter Xu
t; > > Remove: > > - RDMA handling from migration > > - dependencies on libibumad, libibverbs and librdmacm > > > > Keep the RAM_SAVE_FLAG_HOOK definition since it might appears > > in old migration streams. > > > > Cc: Peter Xu > > Cc:

Re: [PATCH v5 4/7] migration/multifd: add qpl compression method

2024-03-27 Thread Peter Xu
on method. > # > +# @qpl: use qpl compression method. Query Processing Library(qpl) is based on > +# the deflate compression algorithm and use the Intel In-Memory > Analytics > +# Accelerator(IAA) accelerated compression and decompression. (Since > 9.0) s/9.0/9.1/ > +# > # Since: 5.0 > ## > { 'enum': 'MultiFDCompression', >'data': [ 'none', 'zlib', > -{ 'name': 'zstd', 'if': 'CONFIG_ZSTD' } ] } > +{ 'name': 'zstd', 'if': 'CONFIG_ZSTD' }, > +{ 'name': 'qpl', 'if': 'CONFIG_QPL' } ] } > > ## > # @MigMode: > -- > 2.39.3 > Reviewed-by: Peter Xu -- Peter Xu

Re: [PATCH v5 5/7] migration/multifd: implement initialization of qpl compression

2024-03-27 Thread Peter Xu
On Fri, Mar 22, 2024 at 12:40:32PM -0400, Peter Xu wrote: > > > void multifd_recv_zero_page_process(MultiFDRecvParams *p) > > > { > > > for (int i = 0; i < p->zero_num; i++) { > > > void *page = p->host + p->zero[i]; >

Re: [PATCH v5 1/7] docs/migration: add qpl compression feature

2024-03-26 Thread Peter Xu
er our discussion in the other thread, the DMA fault latency cannot. I think we can mention the possibility of IOTLB flush issue but that shouldn't be the major cause of such suggestion. Again, I think it'll be great to mention how slow a DMA page fault can be, it can be compared in migration performance difference, or just describe an average DMA page fault latency, v.s. a processor fault. That might explain why we suggest prefault the pages (comparing to a generic setup where the pages are always faulted by processors). > + > +Since the normal pages on the source side are all populated, ``IOTLB`` caused > +by I/O page fault will not occur. On the destination side, a large number > +of normal pages need to be loaded, so it is recommended to add > ``-mem-prealloc`` > +parameter on the destination side. > -- > 2.39.3 > -- Peter Xu

Re: [PATCH v5 5/7] migration/multifd: implement initialization of qpl compression

2024-03-22 Thread Peter Xu
On Fri, Mar 22, 2024 at 02:47:02PM +, Liu, Yuan1 wrote: > > -Original Message- > > From: Liu, Yuan1 > > Sent: Friday, March 22, 2024 10:07 AM > > To: Peter Xu > > Cc: Daniel P. Berrangé ; faro...@suse.de; qemu- > > de...@nongnu.org; hao.xi...@byte

Re: [PATCH 0/3] qapi/migration: Doc fixes

2024-03-22 Thread Peter Xu
ogus documentation of query-migrationthreads With Fabiano's fixup squashed: Reviewed-by: Peter Xu Thanks! -- Peter Xu

Re: [PATCH] migration/postcopy: Fix high frequency sync

2024-03-22 Thread Peter Xu
On Thu, Mar 21, 2024 at 12:20:32PM -0400, Peter Xu wrote: > On Wed, Mar 20, 2024 at 05:44:53PM -0400, pet...@redhat.com wrote: > > From: Peter Xu > > > > On current code base I can observe extremely high sync count during > > precopy, as long as one enables postco

Re: [PATCH for-9.1 v5 00/14] migration: Improve error reporting

2024-03-22 Thread Peter Xu
gt; migration: Add Error** argument to xbzrle_init() > migration: Modify ram_init_bitmaps() to report dirty tracking errors > > The VFIO changes depend on the above. They are simpler and have been > reviewed already. I kept them for another series. queued for 9.1, thanks. -- Peter Xu

Re: [PATCH for-9.1 v5 11/14] memory: Add Error** argument to the global_dirty_log routines

2024-03-22 Thread Peter Xu
Yong. I think I'll go ahead and queue it then. It should be in the 1st migration pull for 9.1. Thanks, -- Peter Xu

Re: [PATCH] migration/multifd: Fix clearing of mapped-ram zero pages

2024-03-21 Thread Peter Xu
(pages->block, pages->offset[i], true); > } > > -for (int i = p->pages->num; i < zero_num; i++) { > +for (int i = p->pages->normal_num; i < p->pages->num; i++) { > ramblock_set_file_bmap_atomic(pages->block, pages->offset[i], false); > } > } Hmm, a challenging one even if it reads obvious.. :) queued for 9.0-rc1, thanks. -- Peter Xu

Re: [PATCH] migration/postcopy: Fix high frequency sync

2024-03-21 Thread Peter Xu
On Wed, Mar 20, 2024 at 05:44:53PM -0400, pet...@redhat.com wrote: > From: Peter Xu > > On current code base I can observe extremely high sync count during > precopy, as long as one enables postcopy-ram=on before switchover to > postcopy. > > To provide some context of

Re: [PATCH v5 5/7] migration/multifd: implement initialization of qpl compression

2024-03-21 Thread Peter Xu
On Thu, Mar 21, 2024 at 01:37:36AM +, Liu, Yuan1 wrote: > > -Original Message- > > From: Peter Xu > > Sent: Thursday, March 21, 2024 4:32 AM > > To: Liu, Yuan1 > > Cc: Daniel P. Berrangé ; faro...@suse.de; qemu- > > de...@nongnu.org; hao.xi...@byte

Re: [PATCH 2/3] migration: Drop unnecessary check in ram's pending_exact()

2024-03-20 Thread Peter Xu
On Wed, Mar 20, 2024 at 03:46:44PM -0400, Peter Xu wrote: > On Wed, Mar 20, 2024 at 08:21:30PM +0100, Nina Schoetterl-Glausch wrote: > > On Wed, 2024-03-20 at 14:57 -0400, Peter Xu wrote: > > > On Wed, Mar 20, 2024 at 06:51:26PM +0100, Nina Schoetterl-Glausch wrote: > >

Re: [PATCH v5 5/7] migration/multifd: implement initialization of qpl compression

2024-03-20 Thread Peter Xu
sh only needed if a tear down happens? > > Due to the inability to quickly resolve a large number of IO page faults > and IOTLB flushes, the decompression throughput of the IAA device will > decrease significantly. -- Peter Xu

Re: [PATCH 2/3] migration: Drop unnecessary check in ram's pending_exact()

2024-03-20 Thread Peter Xu
On Wed, Mar 20, 2024 at 08:21:30PM +0100, Nina Schoetterl-Glausch wrote: > On Wed, 2024-03-20 at 14:57 -0400, Peter Xu wrote: > > On Wed, Mar 20, 2024 at 06:51:26PM +0100, Nina Schoetterl-Glausch wrote: > > > On Wed, 2024-01-17 at 15:58 +0800, pet...@redhat.com wrote: >

Re: [PATCH 2/3] migration: Drop unnecessary check in ram's pending_exact()

2024-03-20 Thread Peter Xu
On Wed, Mar 20, 2024 at 06:51:26PM +0100, Nina Schoetterl-Glausch wrote: > On Wed, 2024-01-17 at 15:58 +0800, pet...@redhat.com wrote: > > From: Peter Xu > > > > When the migration frameworks fetches the exact pending sizes, it means > > this check: > > > &g

Re: [PATCH for-9.1 v5 09/14] memory: Add Error** argument to .log_global_start() handler

2024-03-20 Thread Peter Xu
On Wed, Mar 20, 2024 at 05:15:06PM +0100, Cédric Le Goater wrote: > Sure, or I will in a v6. Markus had a comment on 8/14. Yeah, I can handle both if they're the only ones. Thanks, -- Peter Xu

Re: [PATCH v5 5/7] migration/multifd: implement initialization of qpl compression

2024-03-20 Thread Peter Xu
recommend that > customers need to add -mem-prealloc for destination boot parameters. I'm not sure what issue you hit when testing it, but -mem-prealloc flag should only control the guest memory backends not the buffers that QEMU internally use, afaiu. Thanks, -- Peter Xu

Re: [PATCH for-9.1 v5 11/14] memory: Add Error** argument to the global_dirty_log routines

2024-03-20 Thread Peter Xu
ty log not ever started. For those bits, I'll wait and see whether Yong or Hailiang (cced) has any comments. From generic migration/memory side, nothing I see wrong: Acked-by: Peter Xu Thanks, -- Peter Xu

Re: [PATCH for-9.1 v5 10/14] migration: Introduce ram_bitmaps_destroy()

2024-03-20 Thread Peter Xu
On Wed, Mar 20, 2024 at 07:49:06AM +0100, Cédric Le Goater wrote: > We will use it in ram_init_bitmaps() to clear the allocated bitmaps when > support for error reporting is added to memory_global_dirty_log_start(). > > Signed-off-by: Cédric Le Goater Reviewed-by: Peter Xu -- Peter Xu

Re: [PATCH for-9.1 v5 09/14] memory: Add Error** argument to .log_global_start() handler

2024-03-20 Thread Peter Xu
t; performed to stop dirty logging on all listeners where it was > previously enabled. > > Cc: Stefano Stabellini > Cc: Anthony Perard > Cc: Paul Durrant > Cc: "Michael S. Tsirkin" > Cc: Paolo Bonzini > Cc: David Hildenbrand > Signed-off-by: Cédric Le Goater

Re: [PATCH for-9.1 v5 06/14] migration: Add Error** argument to qemu_savevm_state_setup()

2024-03-20 Thread Peter Xu
osely to check that > cleanups are still correctly done. > > Signed-off-by: Cédric Le Goater Reviewed-by: Peter Xu -- Peter Xu

Re: [PATCH 1/2] tests/qtest/migration: Ignore if socket-address is missing to avoid crash below

2024-03-20 Thread Peter Xu
Thanks, -- Peter Xu

Re: [PATCH] Revert mapped-ram multifd support to fd: URI

2024-03-19 Thread Peter Xu
FileMigrationArgs::filename field of the new API with the > "/dev/fdset/NN" syntax, both of which are already supported. > > Signed-off-by: Fabiano Rosas queued for 9.0-rc1. -- Peter Xu

Re: [PATCH 1/2] tests/qtest/migration: Ignore if socket-address is missing to avoid crash below

2024-03-19 Thread Peter Xu
ress > *migrate_get_socket_address(QTestState *who) > QObject *object; > > rsp = migrate_query(who); > + > +if (!qdict_haskey(rsp, "socket-address")) { > +return NULL; > +} > object = qdict_get(rsp, "socket-address"); > > iv = qobject_input_visitor_new(object); > -- > 2.22.3 > -- Peter Xu

Re: [PATCH 2/2] tests/qtest/migration: Fix typo for vsock in SocketAddress_to_str

2024-03-19 Thread Peter Xu
;u.fd.str); > case SOCKET_ADDRESS_TYPE_VSOCK: > -return g_strdup_printf("tcp:%s:%s", > +return g_strdup_printf("vsock:%s:%s", > addr->u.vsock.cid, > addr->u.vsock.port); > default: Queued for 9.1, thanks. -- Peter Xu

Re: [RFC PATCH v3 3/3] migration: Add fd to FileMigrationArgs

2024-03-19 Thread Peter Xu
On Tue, Mar 19, 2024 at 07:52:47PM +, Daniel P. Berrangé wrote: > On Tue, Mar 19, 2024 at 03:25:18PM -0400, Peter Xu wrote: > > On Tue, Mar 19, 2024 at 04:25:32PM +, Daniel P. Berrangé wrote: > > > On Fri, Mar 15, 2024 at 04:54:27PM -0400, Peter Xu wrote: > > > &

Re: [RFC PATCH v3 3/3] migration: Add fd to FileMigrationArgs

2024-03-19 Thread Peter Xu
On Tue, Mar 19, 2024 at 04:25:32PM +, Daniel P. Berrangé wrote: > On Fri, Mar 15, 2024 at 04:54:27PM -0400, Peter Xu wrote: > > On Fri, Mar 15, 2024 at 03:01:09PM -0300, Fabiano Rosas wrote: > > > Peter Xu writes: > > > > > > > [I queued patch 1-2 into

Re: [PULL 0/4] machine development tool

2024-03-18 Thread Peter Xu
On Mon, Mar 18, 2024 at 08:08:29PM +0300, Vladimir Sementsov-Ogievskiy wrote: > On 08.03.24 06:47, Peter Xu wrote: > > On Thu, Mar 07, 2024 at 12:06:59PM +0300, Maksim Davydov wrote: > > > > > > On 3/6/24 04:57, Peter Xu wrote: > > > > On Tue, Mar 05, 2024

Re: [PATCH v4 14/25] memory: Add Error** argument to the global_dirty_log routines

2024-03-18 Thread Peter Xu
this can fail now, after all migration is extra feature on top of VM's emulation functions, so it's optional. Thanks, -- Peter Xu

Re: [PATCH v4 13/25] memory: Add Error** argument to .log_global_start() handler

2024-03-18 Thread Peter Xu
On Mon, Mar 18, 2024 at 03:54:28PM +0100, Cédric Le Goater wrote: > On 3/15/24 12:18, Peter Xu wrote: > > > @@ -3009,13 +3045,16 @@ static void > > > listener_add_address_space(MemoryListener *listener, > > > { > > > FlatView *view; > > >

Re: [PATCH 2/2] hw/usb/hcd-xhci.c: allow unaligned access to Capability Registers

2024-03-18 Thread Peter Xu
ad on offset 0x2. IOW, I think it'll also work if xhci_cap_ops can support impl.min_access_size=2, however I don't know whether that can be more than that register, so that the memory patch is still a more generic approach. Thanks, -- Peter Xu

Re: [PATCH v2 1/2] system/memory.c: support unaligned access

2024-03-18 Thread Peter Xu
(mr, current_addr, value, access_size, access_shift * > 8, > + access_mask, attrs); > } > if (mr->dev && reentrancy_guard_applied) { > mr->dev->mem_reentrancy_guard.engaged_in_io = false; > -- > 2.39.2 > -- Peter Xu

Re: [RFC PATCH v3 3/3] migration: Add fd to FileMigrationArgs

2024-03-15 Thread Peter Xu
On Fri, Mar 15, 2024 at 03:01:09PM -0300, Fabiano Rosas wrote: > Peter Xu writes: > > > [I queued patch 1-2 into -stable, leaving this patch for further > > discussions] > > > > On Fri, Mar 15, 2024 at 08:55:42AM +, Daniel P. Berrangé wrote: > >>

Re: [RFC PATCH v3 3/3] migration: Add fd to FileMigrationArgs

2024-03-15 Thread Peter Xu
y helpful if there can be a summary of how libvirt uses fd for migration purpose. Thanks, -- Peter Xu

Re: [PATCH v4 22/25] memory: Add Error** argument to memory_get_xlat_addr()

2024-03-15 Thread Peter Xu
On Wed, Mar 06, 2024 at 02:34:37PM +0100, Cédric Le Goater wrote: > Let the callers do the reporting. This will be useful in > vfio_iommu_map_dirty_notify(). > > Cc: "Michael S. Tsirkin" > Cc: Paolo Bonzini > Cc: David Hildenbrand > Signed-off-by: Cédric Le

Re: [PATCH v4 10/25] migration: Add Error** argument to qemu_savevm_state_setup()

2024-03-15 Thread Peter Xu
On Fri, Mar 15, 2024 at 03:31:28PM +0100, Cédric Le Goater wrote: > On 3/15/24 14:11, Peter Xu wrote: > > On Fri, Mar 15, 2024 at 01:20:49PM +0100, Cédric Le Goater wrote: > > > +static void qemu_savevm_wait_unplug(MigrationState *s, int state) > > > > One more triv

Re: [PATCH v4 10/25] migration: Add Error** argument to qemu_savevm_state_setup()

2024-03-15 Thread Peter Xu
On Fri, Mar 15, 2024 at 03:21:27PM +0100, Cédric Le Goater wrote: > On 3/15/24 13:20, Cédric Le Goater wrote: > > On 3/15/24 12:01, Peter Xu wrote: > > > On Fri, Mar 15, 2024 at 11:17:45AM +0100, Cédric Le Goater wrote: > > > > > migrate_set_state is also unint

Re: [PATCH v4 10/25] migration: Add Error** argument to qemu_savevm_state_setup()

2024-03-15 Thread Peter Xu
e can perhaps assert it instead of passing it over? -- Peter Xu

Re: [PATCH v4 10/25] migration: Add Error** argument to qemu_savevm_state_setup()

2024-03-15 Thread Peter Xu
On Fri, Mar 15, 2024 at 01:20:49PM +0100, Cédric Le Goater wrote: > On 3/15/24 12:01, Peter Xu wrote: > > On Fri, Mar 15, 2024 at 11:17:45AM +0100, Cédric Le Goater wrote: > > > > migrate_set_state is also unintuitive because it ignores invalid state > > > >

Re: [PATCH v3 2/3] migration/multifd: Duplicate the fd for the outgoing_args

2024-03-15 Thread Peter Xu
t; QIOChannel gets freed and the fd closed while outgoing_args.fd still > has it available. This could lead to an fd-reuse bug. > > Duplicate the outgoing_args fd to avoid this issue. > > Suggested-by: Peter Xu > Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu -- Peter Xu

Re: [PATCH v3 1/3] migration/multifd: Ensure we're not given a socket for file migration

2024-03-15 Thread Peter Xu
gt; > Add the missing verification and update the comment explaining this > situation which is currently incorrect. > > Fixes: decdc76772 ("migration/multifd: Add mapped-ram support to fd: URI") > Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu -- Peter Xu

Re: [PATCH v4 14/25] memory: Add Error** argument to the global_dirty_log routines

2024-03-15 Thread Peter Xu
ret = listener->log_global_start(listener, _err); > +ret = listener->log_global_start(listener, errp); > if (!ret) { > break; > } > @@ -2969,14 +2968,14 @@ void memory_global_dirty_log_start(unsigned int flags) > if (!ret) { > memory_global_dirty_log_rollback(QTAILQ_PREV(listener, link), > flags); > -error_report_err(local_err); > -return; > +return false; > } > > memory_region_transaction_begin(); > memory_region_update_pending = true; > memory_region_transaction_commit(); > } > +return true; > } > > static void memory_global_dirty_log_do_stop(unsigned int flags) > -- > 2.44.0 > -- Peter Xu

Re: [PATCH v4 13/25] memory: Add Error** argument to .log_global_start() handler

2024-03-15 Thread Peter Xu
le()) { error_setg(errp, "device_add not allowed while migrating"); return NULL; } If it really happens it's a bug, as listener_add_address_space() will still keep the rest things around even if the hook failed. It'll start to be a total mess.. Thanks, > } > } > > -- > 2.44.0 > -- Peter Xu

Re: [PATCH v4 10/25] migration: Add Error** argument to qemu_savevm_state_setup()

2024-03-15 Thread Peter Xu
359afc4448c02f566a0e Author: Laine Stump Date: Wed Jan 15 16:38:57 2020 -0500 qemu: add wait-unplug to qemu migration status enum Considering that qemu_savevm_wait_unplug() can be a noop if the device is already unplugged, I think it means no upper layer app should rely on this state to present. Thanks, -- Peter Xu

Re: [PATCH v2 0/2] migration mapped-ram fixes

2024-03-14 Thread Peter Xu
didn't. The two issues are separate. I assume patch 2 will need a rework, but I queued patch 1 first. Thanks. -- Peter Xu

Re: [PATCH v2 2/2] migration/multifd: Ensure we're not given a socket for file migration

2024-03-14 Thread Peter Xu
On Thu, Mar 14, 2024 at 01:50:07PM -0300, Fabiano Rosas wrote: > Peter Xu writes: > > > On Thu, Mar 14, 2024 at 11:10:12AM -0400, Peter Xu wrote: > >> On Wed, Mar 13, 2024 at 06:28:24PM -0300, Fabiano Rosas wrote: > >> > When doing migration using the fd: U

Re: [PATCH v2 2/2] migration/multifd: Ensure we're not given a socket for file migration

2024-03-14 Thread Peter Xu
On Thu, Mar 14, 2024 at 01:44:13PM -0300, Fabiano Rosas wrote: > Peter Xu writes: > > > On Wed, Mar 13, 2024 at 06:28:24PM -0300, Fabiano Rosas wrote: > >> When doing migration using the fd: URI, the incoming migration starts > >> before the user has pass

Re: [PATCH v2 0/2] migration mapped-ram fixes

2024-03-14 Thread Peter Xu
On Thu, Mar 14, 2024 at 01:55:31PM -0300, Fabiano Rosas wrote: > Peter Xu writes: > > > On Wed, Mar 13, 2024 at 06:28:22PM -0300, Fabiano Rosas wrote: > >> Hi, > >> > >> In this v2: > >> > >> patch 1 - The fix for the ioc leaks,

Re: [PATCH v2 2/2] migration/multifd: Ensure we're not given a socket for file migration

2024-03-14 Thread Peter Xu
On Thu, Mar 14, 2024 at 11:10:12AM -0400, Peter Xu wrote: > On Wed, Mar 13, 2024 at 06:28:24PM -0300, Fabiano Rosas wrote: > > When doing migration using the fd: URI, the incoming migration starts > > before the user has passed the file descriptor to QEMU. This means >

Re: [PATCH v2 0/2] migration mapped-ram fixes

2024-03-14 Thread Peter Xu
Ensure we're not given a socket for file migration > > migration/fd.c | 35 +++--- > migration/file.c | 65 > migration/file.h | 1 + > 3 files changed, 60 insertions(+), 41 deletions(-) > > -- > 2.35.3 > -- Peter Xu

Re: [PATCH v2 1/2] migration: Fix iocs leaks during file and fd migration

2024-03-14 Thread Peter Xu
ultifd: Add incoming QIOChannelFile support") > Fixes: decdc76772 ("migration/multifd: Add mapped-ram support to fd: URI") > Reported-by: Peter Xu > Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu -- Peter Xu

Re: [PATCH v2 2/2] migration/multifd: Ensure we're not given a socket for file migration

2024-03-14 Thread Peter Xu
t; > #include "trace.h" > @@ -58,6 +59,12 @@ bool file_send_channel_create(gpointer opaque, Error > **errp) > int fd = fd_args_get_fd(); > > if (fd && fd != -1) { > +if (fd_is_socket(fd)) { > +error_setg(errp, > + "Multifd migration to a socket FD is not supported"); > +goto out; > +} > + > ioc = qio_channel_file_new_dupfd(fd, errp); > } else { > ioc = qio_channel_file_new_path(outgoing_args.fname, flags, 0, errp); > -- > 2.35.3 > -- Peter Xu

Re: [PATCH] migration: cpr-reboot documentation

2024-03-13 Thread Peter Xu
(qemu) info status > + VM status: paused (suspended) > + (qemu) system_wakeup > + (qemu) info status > + VM status: running > + > +Caveats > +^^^ > + > +cpr-reboot mode may not be used with postcopy, background-snapshot, > +or COLO. > diff --git a/docs/devel/migration/features.rst > b/docs/devel/migration/features.rst > index 9d1abd2..d5ca7b8 100644 > --- a/docs/devel/migration/features.rst > +++ b/docs/devel/migration/features.rst > @@ -11,3 +11,4 @@ Migration has plenty of features to support different use > cases. > vfio > virtio > mapped-ram > + CPR > -- > 1.8.3.1 > -- Peter Xu

Re: [PATCH] migration: Fix iocs leaks during file and fd migration

2024-03-13 Thread Peter Xu
t; > Fixes: 2dd7ee7a51 ("migration/multifd: Add incoming QIOChannelFile support") > Fixes: decdc76772 ("migration/multifd: Add mapped-ram support to fd: URI") > Reported-by: Peter Xu > Signed-off-by: Fabiano Rosas > --- > based-on: https://gitlab.com/peterx/migratio

Re: [PATCH for 9.0] migration: Skip only empty block devices

2024-03-12 Thread Peter Xu
On Tue, Mar 12, 2024 at 05:34:26PM -0400, Stefan Hajnoczi wrote: > I understand now. I missed that returning from init_blk_migration_it() > did not abort iteration. Thank you! I queued it, thanks both! -- Peter Xu

  1   2   3   4   5   6   7   8   9   10   >