[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] e48903: multifd: Implement yank for multifd s
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] e48903: multifd: Implement yank for multifd send side |
Date: |
Thu, 09 Sep 2021 06:27:20 -0700 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: e489036a0efd132a427347e7825af894bae9ec6c
https://github.com/qemu/qemu/commit/e489036a0efd132a427347e7825af894bae9ec6c
Author: Lukas Straub <lukasstraub2@web.de>
Date: 2021-09-09 (Thu, 09 Sep 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: 54d26be3daa5af4aacd6008606be7245a8748d8e
https://github.com/qemu/qemu/commit/54d26be3daa5af4aacd6008606be7245a8748d8e
Author: Lukas Straub <lukasstraub2@web.de>
Date: 2021-09-09 (Thu, 09 Sep 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: b4fc69f69eb2ccdaec01248f62731aa44d1b8f28
https://github.com/qemu/qemu/commit/b4fc69f69eb2ccdaec01248f62731aa44d1b8f28
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: 2021-09-09 (Thu, 09 Sep 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>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: f0f7a8957fbc09d2750f42a45852ceef05fd3bb2
https://github.com/qemu/qemu/commit/f0f7a8957fbc09d2750f42a45852ceef05fd3bb2
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: 2021-09-09 (Thu, 09 Sep 2021)
Changed paths:
M migration/rdma.c
M migration/trace-events
Log Message:
-----------
migration/rdma: advise prefetch write for ODP region
To: <quintela@redhat.com>, <dgilbert@redhat.com>
CC: <qemu-devel@nongnu.org>, Li Zhijian <lizhijian@cn.fujitsu.com>, "Marcel
Apfelbaum" <marcel.apfelbaum@gmail.com>
Date: Mon, 23 Aug 2021 11:33:58 +0800 (2 weeks, 3 days, 3 hours ago)
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>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: becf8491c719d6ee3a5ee352f6d85e11583d9948
https://github.com/qemu/qemu/commit/becf8491c719d6ee3a5ee352f6d85e11583d9948
Author: David Hildenbrand <david@redhat.com>
Date: 2021-09-09 (Thu, 09 Sep 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: 9ff82a909bf93ea2e77a6fa01e3d12f9098ae4c3
https://github.com/qemu/qemu/commit/9ff82a909bf93ea2e77a6fa01e3d12f9098ae4c3
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: 2021-09-09 (Thu, 09 Sep 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: 158cced72cb2b09b0e8b523a5b15cb10889f99d1
https://github.com/qemu/qemu/commit/158cced72cb2b09b0e8b523a5b15cb10889f99d1
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date: 2021-09-09 (Thu, 09 Sep 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: 7084037070bc86809f69acb8f1d2d8e0884464a7
https://github.com/qemu/qemu/commit/7084037070bc86809f69acb8f1d2d8e0884464a7
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2021-09-09 (Thu, 09 Sep 2021)
Changed paths:
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
This pull request includes:
- Remove RAMState unused parameter for several prototypes
- RDMA fix
- give an error when using RDMA and multifd
- Implement yank for multifd send side
Please, Apply.
# gpg: Signature made Thu 09 Sep 2021 11:32:30 BST
# 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
* remotes/juanquintela/tags/migration.next-pull-request:
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_*()
migration/rdma: advise prefetch write for ODP region
migration/rdma: Try to register On-Demand Paging memory region
multifd: Unconditionally unregister yank function
multifd: Implement yank for multifd send side
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/d1e0c5caff3d...7084037070bc
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] e48903: multifd: Implement yank for multifd send side,
Peter Maydell <=