[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 20171e: multifd: Implement yank for multifd s
From: |
Richard Henderson |
Subject: |
[Qemu-commits] [qemu/qemu] 20171e: multifd: Implement yank for multifd send side |
Date: |
Tue, 19 Oct 2021 07:41:52 -0700 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 20171ea8950c619f00dc5cfa6136fd489998ffc5
https://github.com/qemu/qemu/commit/20171ea8950c619f00dc5cfa6136fd489998ffc5
Author: Lukas Straub <lukasstraub2@web.de>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M migration/multifd.c
M migration/multifd.h
Log Message:
-----------
multifd: Implement yank for multifd send side
To: qemu-devel <qemu-devel@nongnu.org>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Juan Quintela
<quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Leonardo Bras Soares
Passos <lsoaresp@redhat.com>
Date: Wed, 1 Sep 2021 17:58:57 +0200 (1 week, 15 hours, 17 minutes ago)
[[PGP Signed Part:No public key for 35AB0B289C5DB258 created at
2021-09-01T17:58:57+0200 using RSA]]
When introducing yank functionality in the migration code I forgot
to cover the multifd send side.
Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Tested-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: e9ab82b858c14aa76dac5235a99d1723ec069407
https://github.com/qemu/qemu/commit/e9ab82b858c14aa76dac5235a99d1723ec069407
Author: Lukas Straub <lukasstraub2@web.de>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M migration/multifd.c
Log Message:
-----------
multifd: Unconditionally unregister yank function
To: qemu-devel <qemu-devel@nongnu.org>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Juan Quintela
<quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Leonardo Bras Soares
Passos <lsoaresp@redhat.com>
Date: Wed, 4 Aug 2021 21:26:32 +0200 (5 weeks, 11 hours, 52 minutes ago)
[[PGP Signed Part:No public key for 35AB0B289C5DB258 created at
2021-08-04T21:26:32+0200 using RSA]]
Unconditionally unregister yank function in multifd_load_cleanup().
If it is not unregistered here, it will leak and cause a crash
in yank_unregister_instance(). Now if the ioc is still in use
afterwards, it will only lead to qemu not being able to recover
from a hang related to that ioc.
After checking the code, i am pretty sure that ref is always 1
when arriving here. So all this currently does is remove the
unneeded check.
Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: 1230a25f6fa3048c56d0f7f4e70e451330f4d33c
https://github.com/qemu/qemu/commit/1230a25f6fa3048c56d0f7f4e70e451330f4d33c
Author: David Hildenbrand <david@redhat.com>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M migration/ram.c
Log Message:
-----------
migration/ram: Don't passs RAMState to
migration_clear_memory_region_dirty_bitmap_*()
The parameter is unused, let's drop it.
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: b7acd65707623a8b728b622f4c9dd96c2085c05b
https://github.com/qemu/qemu/commit/b7acd65707623a8b728b622f4c9dd96c2085c05b
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M migration/migration.c
M migration/multifd.c
M migration/multifd.h
Log Message:
-----------
migration: allow multifd for socket protocol only
To: <quintela@redhat.com>, <dgilbert@redhat.com>, <qemu-devel@nongnu.org>
CC: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: Sat, 31 Jul 2021 22:05:51 +0800 (5 weeks, 4 days, 17 hours ago)
multifd with unsupported protocol will cause a segment fault.
(gdb) bt
#0 0x0000563b4a93faf8 in socket_connect (addr=0x0, errp=0x7f7f02675410) at
../util/qemu-sockets.c:1190
#1 0x0000563b4a797a03 in qio_channel_socket_connect_sync
(ioc=0x563b4d16e8c0, addr=0x0, errp=0x7f7f02675410) at
../io/channel-socket.c:145
#2 0x0000563b4a797abf in qio_channel_socket_connect_worker
(task=0x563b4cd86c30, opaque=0x0) at ../io/channel-socket.c:168
#3 0x0000563b4a792631 in qio_task_thread_worker (opaque=0x563b4cd86c30) at
../io/task.c:124
#4 0x0000563b4a91da69 in qemu_thread_start (args=0x563b4c44bb80) at
../util/qemu-thread-posix.c:541
#5 0x00007f7fe9b5b3f9 in ?? ()
#6 0x0000000000000000 in ?? ()
It's enough to check migrate_multifd_is_allowed() in multifd cleanup() and
multifd setup() though there are so many other places using
migrate_use_multifd().
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: 5ad15e8614b0877225af42aa28a7195ed2fb74e4
https://github.com/qemu/qemu/commit/5ad15e8614b0877225af42aa28a7195ed2fb74e4
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M migration/migration.c
M migration/multifd.c
Log Message:
-----------
migration: allow enabling mutilfd for specific protocol only
To: <quintela@redhat.com>, <dgilbert@redhat.com>, <qemu-devel@nongnu.org>
CC: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: Sat, 31 Jul 2021 22:05:52 +0800 (5 weeks, 4 days, 17 hours ago)
And change the default to true so that in '-incoming defer' case, user is able
to change multifd capability.
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: e2daccb0d0375717efed80b772e9fd1e4c51ae5b
https://github.com/qemu/qemu/commit/e2daccb0d0375717efed80b772e9fd1e4c51ae5b
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M migration/rdma.c
M migration/trace-events
Log Message:
-----------
migration/rdma: Try to register On-Demand Paging memory region
Previously, for the fsdax mem-backend-file, it will register failed with
Operation not supported. In this case, we can try to register it with
On-Demand Paging[1] like what rpma_mr_reg() does on rpma[2].
[1]:
https://community.mellanox.com/s/article/understanding-on-demand-paging--odp-x
[2]: http://pmem.io/rpma/manpages/v0.9.0/rpma_mr_reg.3
CC: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: 911965ace9386e35ca022a65bb45a32fd421af3e
https://github.com/qemu/qemu/commit/911965ace9386e35ca022a65bb45a32fd421af3e
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M meson.build
M migration/rdma.c
M migration/trace-events
Log Message:
-----------
migration/rdma: advise prefetch write for ODP region
The responder mr registering with ODP will sent RNR NAK back to
the requester in the face of the page fault.
---------
ibv_poll_cq wc.status=13 RNR retry counter exceeded!
ibv_poll_cq wrid=WRITE RDMA!
---------
ibv_advise_mr(3) helps to make pages present before the actual IO is
conducted so that the responder does page fault as little as possible.
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: 50352cce138ef3b30c1cda28a4df68fff5da3202
https://github.com/qemu/qemu/commit/50352cce138ef3b30c1cda28a4df68fff5da3202
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-10-19 (Tue, 19 Oct 2021)
Changed paths:
M meson.build
M migration/migration.c
M migration/multifd.c
M migration/multifd.h
M migration/ram.c
M migration/rdma.c
M migration/trace-events
Log Message:
-----------
Merge remote-tracking branch
'remotes/juanquintela/tags/migration.next-pull-request' into staging
Migration Pull request (3rd try)
Hi
This should fix all the freebsd problems.
Please apply,
# gpg: Signature made Tue 19 Oct 2021 02:28:51 AM PDT
# gpg: using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [full]
# gpg: aka "Juan Quintela <quintela@trasno.org>" [full]
* remotes/juanquintela/tags/migration.next-pull-request:
migration/rdma: advise prefetch write for ODP region
migration/rdma: Try to register On-Demand Paging memory region
migration: allow enabling mutilfd for specific protocol only
migration: allow multifd for socket protocol only
migration/ram: Don't passs RAMState to
migration_clear_memory_region_dirty_bitmap_*()
multifd: Unconditionally unregister yank function
multifd: Implement yank for multifd send side
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Compare: https://github.com/qemu/qemu/compare/362534a643b4...50352cce138e
- [Qemu-commits] [qemu/qemu] 20171e: multifd: Implement yank for multifd send side,
Richard Henderson <=