Re: [PATCH-for-9.1] rdma: Remove RDMA subsystem and pvrdma device
On Thu, Mar 28, 2024 at 01:57:27PM +0100, Philippe Mathieu-Daudé wrote: > On 28/3/24 10:06, Daniel P. Berrangé wrote: > > On Wed, Mar 27, 2024 at 11:55:48AM +0100, Philippe Mathieu-Daudé wrote: > > > The whole RDMA subsystem was deprecated in commit e9a54265f5 > > > ("hw/rdma: Deprecate the pvrdma device and the rdma subsystem") > > > released in v8.2. Time to remove it. > > > > > > Keep the RAM_SAVE_FLAG_HOOK definition since it might appears > > > in old migration streams. > > > > > > Remove the dependencies on libibumad and libibverbs. > > > > > > > > Remove the generated vmw_pvrdma/ directory from linux-headers. > > > > > > Remove RDMA handling from migration. > > > > > > Remove RDMA handling in GlusterFS block driver. > > > > The RDMA support in GlusterFS is completely opaque to QEMU. > > All we have there is the CLI syntax to enable use of the > > RDMA support inside libglusterfs. I'm not convinced that > > the justification for deprecation (lack of maintanier) > > applies to this scenario. > > I'll quote commit 0552ff2465 from 2016 then: > > block/gluster: deprecate rdma support > > gluster volfile server fetch happens through unix and/or tcp, > it doesn't support volfile fetch over rdma. The rdma code may > actually mislead, so to make sure things do not break, for now > we fallback to tcp when requested for rdma, with a warning. > > If you are wondering how this worked all these days, its the gluster > libgfapi code which handles anything other than unix transport as > socket/tcp, sad but true. Ok, that should have been mentioned in the commit message then, and is another reason for removing each functional area in a separate commit, with the relevant notes for each. With regards, Daniel -- |: https://berrange.com -o-https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o-https://fstop138.berrange.com :| |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
Re: [PATCH-for-9.1] rdma: Remove RDMA subsystem and pvrdma device
On 28/3/24 10:06, Daniel P. Berrangé wrote: On Wed, Mar 27, 2024 at 11:55:48AM +0100, Philippe Mathieu-Daudé wrote: The whole RDMA subsystem was deprecated in commit e9a54265f5 ("hw/rdma: Deprecate the pvrdma device and the rdma subsystem") released in v8.2. Time to remove it. Keep the RAM_SAVE_FLAG_HOOK definition since it might appears in old migration streams. Remove the dependencies on libibumad and libibverbs. Remove the generated vmw_pvrdma/ directory from linux-headers. Remove RDMA handling from migration. Remove RDMA handling in GlusterFS block driver. The RDMA support in GlusterFS is completely opaque to QEMU. All we have there is the CLI syntax to enable use of the RDMA support inside libglusterfs. I'm not convinced that the justification for deprecation (lack of maintanier) applies to this scenario. I'll quote commit 0552ff2465 from 2016 then: block/gluster: deprecate rdma support gluster volfile server fetch happens through unix and/or tcp, it doesn't support volfile fetch over rdma. The rdma code may actually mislead, so to make sure things do not break, for now we fallback to tcp when requested for rdma, with a warning. If you are wondering how this worked all these days, its the gluster libgfapi code which handles anything other than unix transport as socket/tcp, sad but true. Remove rdmacm-mux tool from contrib/. Remove PVRDMA device. I agree with Thomas that each functional area listed here should be handld in a separate patch, since they're all independant. With regards, Daniel
Re: [PATCH-for-9.1] rdma: Remove RDMA subsystem and pvrdma device
On Thu, Mar 28, 2024 at 07:43:06AM +0100, Thomas Huth wrote: > On 27/03/2024 11.55, Philippe Mathieu-Daudé wrote: > > The whole RDMA subsystem was deprecated in commit e9a54265f5 > > ("hw/rdma: Deprecate the pvrdma device and the rdma subsystem") > > released in v8.2. Time to remove it. > > > > Keep the RAM_SAVE_FLAG_HOOK definition since it might appears > > in old migration streams. > > > > Remove the dependencies on libibumad and libibverbs. > > > > Remove the generated vmw_pvrdma/ directory from linux-headers. > > > > Remove RDMA handling from migration. > > > > Remove RDMA handling in GlusterFS block driver. > > > > Remove rdmacm-mux tool from contrib/. > > > > Remove PVRDMA device. > > > > Cc: Peter Xu > > Cc: Li Zhijian > > Cc: Yuval Shaia > > Cc: Marcel Apfelbaum > > Signed-off-by: Philippe Mathieu-Daudé > > --- > > MAINTAINERS | 17 - > > docs/about/deprecated.rst |9 - > > docs/about/removed-features.rst |4 + > > docs/devel/migration/main.rst |6 - > > docs/pvrdma.txt | 345 -- > > docs/rdma.txt | 420 -- > > docs/system/device-url-syntax.rst.inc |4 +- > > docs/system/loongarch/virt.rst|2 +- > > docs/system/qemu-block-drivers.rst.inc|1 - > > meson.build | 59 - > > qapi/machine.json | 17 - > > qapi/migration.json | 31 +- > > qapi/qapi-schema.json |1 - > > qapi/rdma.json| 38 - > > contrib/rdmacm-mux/rdmacm-mux.h | 61 - > > hw/rdma/rdma_backend.h| 129 - > > hw/rdma/rdma_backend_defs.h | 76 - > > hw/rdma/rdma_rm.h | 97 - > > hw/rdma/rdma_rm_defs.h| 146 - > > hw/rdma/rdma_utils.h | 63 - > > hw/rdma/trace.h |1 - > > hw/rdma/vmw/pvrdma.h | 144 - > > hw/rdma/vmw/pvrdma_dev_ring.h | 46 - > > hw/rdma/vmw/pvrdma_qp_ops.h | 28 - > > hw/rdma/vmw/trace.h |1 - > > include/hw/rdma/rdma.h| 37 - > > include/monitor/hmp.h |1 - > > .../infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 685 --- > > .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 348 -- > > .../standard-headers/rdma/vmw_pvrdma-abi.h| 310 -- > > migration/migration-stats.h |6 +- > > migration/migration.h |9 - > > migration/options.h |2 - > > migration/rdma.h | 69 - > > block/gluster.c | 39 - > > contrib/rdmacm-mux/main.c | 831 > > hw/core/machine-qmp-cmds.c| 32 - > > hw/rdma/rdma.c| 30 - > > hw/rdma/rdma_backend.c| 1401 -- > > hw/rdma/rdma_rm.c | 812 > > hw/rdma/rdma_utils.c | 126 - > > hw/rdma/vmw/pvrdma_cmd.c | 815 > > hw/rdma/vmw/pvrdma_dev_ring.c | 141 - > > hw/rdma/vmw/pvrdma_main.c | 735 --- > > hw/rdma/vmw/pvrdma_qp_ops.c | 298 -- > > migration/migration-stats.c |5 +- > > migration/migration.c | 31 - > > migration/options.c | 16 - > > migration/qemu-file.c |1 - > > migration/ram.c | 86 +- > > migration/rdma.c | 4184 - > > migration/savevm.c|2 +- > > monitor/qmp-cmds.c|1 - > > Kconfig.host |3 - > > contrib/rdmacm-mux/meson.build|7 - > > hmp-commands-info.hx | 13 - > > hw/Kconfig|1 - > > hw/meson.build|1 - > > hw/rdma/Kconfig |3 - > > hw/rdma/meson.build | 12 - > > hw/rdma/trace-events | 31 - > > hw/rdma/vmw/trace-events | 17 - > > meson_options.txt |4 - > > migration/meson.build |1 - > > migration/trace-events| 68 +- > > qapi/meson.build |1 - > > qemu-options.hx |6 - > > .../ci/org.cen
Re: [PATCH-for-9.1] rdma: Remove RDMA subsystem and pvrdma device
On Wed, Mar 27, 2024 at 11:55:48AM +0100, Philippe Mathieu-Daudé wrote: > The whole RDMA subsystem was deprecated in commit e9a54265f5 > ("hw/rdma: Deprecate the pvrdma device and the rdma subsystem") > released in v8.2. Time to remove it. > > Keep the RAM_SAVE_FLAG_HOOK definition since it might appears > in old migration streams. > > Remove the dependencies on libibumad and libibverbs. > > Remove the generated vmw_pvrdma/ directory from linux-headers. > > Remove RDMA handling from migration. > > Remove RDMA handling in GlusterFS block driver. The RDMA support in GlusterFS is completely opaque to QEMU. All we have there is the CLI syntax to enable use of the RDMA support inside libglusterfs. I'm not convinced that the justification for deprecation (lack of maintanier) applies to this scenario. > Remove rdmacm-mux tool from contrib/. > > Remove PVRDMA device. I agree with Thomas that each functional area listed here should be handld in a separate patch, since they're all independant. With regards, Daniel -- |: https://berrange.com -o-https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o-https://fstop138.berrange.com :| |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
Re: [PATCH-for-9.1] rdma: Remove RDMA subsystem and pvrdma device
On 27/03/2024 11.55, Philippe Mathieu-Daudé wrote: The whole RDMA subsystem was deprecated in commit e9a54265f5 ("hw/rdma: Deprecate the pvrdma device and the rdma subsystem") released in v8.2. Time to remove it. Keep the RAM_SAVE_FLAG_HOOK definition since it might appears in old migration streams. Remove the dependencies on libibumad and libibverbs. Remove the generated vmw_pvrdma/ directory from linux-headers. Remove RDMA handling from migration. Remove RDMA handling in GlusterFS block driver. Remove rdmacm-mux tool from contrib/. Remove PVRDMA device. Cc: Peter Xu Cc: Li Zhijian Cc: Yuval Shaia Cc: Marcel Apfelbaum Signed-off-by: Philippe Mathieu-Daudé --- MAINTAINERS | 17 - docs/about/deprecated.rst |9 - docs/about/removed-features.rst |4 + docs/devel/migration/main.rst |6 - docs/pvrdma.txt | 345 -- docs/rdma.txt | 420 -- docs/system/device-url-syntax.rst.inc |4 +- docs/system/loongarch/virt.rst|2 +- docs/system/qemu-block-drivers.rst.inc|1 - meson.build | 59 - qapi/machine.json | 17 - qapi/migration.json | 31 +- qapi/qapi-schema.json |1 - qapi/rdma.json| 38 - contrib/rdmacm-mux/rdmacm-mux.h | 61 - hw/rdma/rdma_backend.h| 129 - hw/rdma/rdma_backend_defs.h | 76 - hw/rdma/rdma_rm.h | 97 - hw/rdma/rdma_rm_defs.h| 146 - hw/rdma/rdma_utils.h | 63 - hw/rdma/trace.h |1 - hw/rdma/vmw/pvrdma.h | 144 - hw/rdma/vmw/pvrdma_dev_ring.h | 46 - hw/rdma/vmw/pvrdma_qp_ops.h | 28 - hw/rdma/vmw/trace.h |1 - include/hw/rdma/rdma.h| 37 - include/monitor/hmp.h |1 - .../infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 685 --- .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 348 -- .../standard-headers/rdma/vmw_pvrdma-abi.h| 310 -- migration/migration-stats.h |6 +- migration/migration.h |9 - migration/options.h |2 - migration/rdma.h | 69 - block/gluster.c | 39 - contrib/rdmacm-mux/main.c | 831 hw/core/machine-qmp-cmds.c| 32 - hw/rdma/rdma.c| 30 - hw/rdma/rdma_backend.c| 1401 -- hw/rdma/rdma_rm.c | 812 hw/rdma/rdma_utils.c | 126 - hw/rdma/vmw/pvrdma_cmd.c | 815 hw/rdma/vmw/pvrdma_dev_ring.c | 141 - hw/rdma/vmw/pvrdma_main.c | 735 --- hw/rdma/vmw/pvrdma_qp_ops.c | 298 -- migration/migration-stats.c |5 +- migration/migration.c | 31 - migration/options.c | 16 - migration/qemu-file.c |1 - migration/ram.c | 86 +- migration/rdma.c | 4184 - migration/savevm.c|2 +- monitor/qmp-cmds.c|1 - Kconfig.host |3 - contrib/rdmacm-mux/meson.build|7 - hmp-commands-info.hx | 13 - hw/Kconfig|1 - hw/meson.build|1 - hw/rdma/Kconfig |3 - hw/rdma/meson.build | 12 - hw/rdma/trace-events | 31 - hw/rdma/vmw/trace-events | 17 - meson_options.txt |4 - migration/meson.build |1 - migration/trace-events| 68 +- qapi/meson.build |1 - qemu-options.hx |6 - .../ci/org.centos/stream/8/x86_64/configure |1 - scripts/ci/setup/build-environment.yml|2 - scripts/coverity-scan/run-coverity-scan |2 +- scripts/meson-buildoptions.sh |6 - scripts/update-linux-headers.sh | 27 - tests/lcitool/projects/qemu.yml |2 - tests/migration/guestperf/engine.py |4 +- 74 files changed, 20 insertions(+), 12991 dele
Re: [PATCH-for-9.1] rdma: Remove RDMA subsystem and pvrdma device
Philippe Mathieu-Daudé writes: > The whole RDMA subsystem was deprecated in commit e9a54265f5 > ("hw/rdma: Deprecate the pvrdma device and the rdma subsystem") > released in v8.2. Time to remove it. > > Keep the RAM_SAVE_FLAG_HOOK definition since it might appears > in old migration streams. > > Remove the dependencies on libibumad and libibverbs. > > Remove the generated vmw_pvrdma/ directory from linux-headers. > > Remove RDMA handling from migration. > > Remove RDMA handling in GlusterFS block driver. > > Remove rdmacm-mux tool from contrib/. > > Remove PVRDMA device. > > Cc: Peter Xu > Cc: Li Zhijian > Cc: Yuval Shaia > Cc: Marcel Apfelbaum > Signed-off-by: Philippe Mathieu-Daudé Acked-by: Fabiano Rosas