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 <peterx(a)redhat.com>
> Cc: Li Zhijian <lizhijian(a)fujitsu.com>
> Cc: Yuval Shaia <yuval.shaia.ml(a)gmail.com>
> Cc: Marcel Apfelbaum <marcel.apfelbaum(a)gmail.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd(a)linaro.org>
> ---
> 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 deletions(-)
> delete mode 100644 docs/pvrdma.txt
> delete mode 100644 docs/rdma.txt
> delete mode 100644 qapi/rdma.json
> delete mode 100644 contrib/rdmacm-mux/rdmacm-mux.h
> delete mode 100644 hw/rdma/rdma_backend.h
> delete mode 100644 hw/rdma/rdma_backend_defs.h
> delete mode 100644 hw/rdma/rdma_rm.h
> delete mode 100644 hw/rdma/rdma_rm_defs.h
> delete mode 100644 hw/rdma/rdma_utils.h
> delete mode 100644 hw/rdma/trace.h
> delete mode 100644 hw/rdma/vmw/pvrdma.h
> delete mode 100644 hw/rdma/vmw/pvrdma_dev_ring.h
> delete mode 100644 hw/rdma/vmw/pvrdma_qp_ops.h
> delete mode 100644 hw/rdma/vmw/trace.h
> delete mode 100644 include/hw/rdma/rdma.h
> delete mode 100644
include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h
> delete mode 100644
include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h
> delete mode 100644 include/standard-headers/rdma/vmw_pvrdma-abi.h
> delete mode 100644 migration/rdma.h
> delete mode 100644 contrib/rdmacm-mux/main.c
> delete mode 100644 hw/rdma/rdma.c
> delete mode 100644 hw/rdma/rdma_backend.c
> delete mode 100644 hw/rdma/rdma_rm.c
> delete mode 100644 hw/rdma/rdma_utils.c
> delete mode 100644 hw/rdma/vmw/pvrdma_cmd.c
> delete mode 100644 hw/rdma/vmw/pvrdma_dev_ring.c
> delete mode 100644 hw/rdma/vmw/pvrdma_main.c
> delete mode 100644 hw/rdma/vmw/pvrdma_qp_ops.c
> delete mode 100644 migration/rdma.c
> delete mode 100644 contrib/rdmacm-mux/meson.build
> delete mode 100644 hw/rdma/Kconfig
> delete mode 100644 hw/rdma/meson.build
> delete mode 100644 hw/rdma/trace-events
> delete mode 100644 hw/rdma/vmw/trace-events
Hi Philippe!
Looking at this rdma stuff again after I while, I realized that there are
actually 3 parts in QEMU related to RDMA:
1) The "pvrdma" device in hw/rdma/vmw/
2) The rdma subsystem in hw/rda/*.[ch]
3) The rdma migration code in the migration/ folder.
While the deprecation note in docs/about/deprecated.rst clearly talks about
the "pvrdma" device and the rdma subsystem, I'm unsure whether that
includes
the rdma migration code or not.
Anyway, could you please split your patch at least in two (maybe even in
three) parts, so that the removal of the rdma migration code is in a
separate patch? That way we can discuss that separately (and maybe also
revert it more easily in the future if necessary).
Thanks,
Thomas
I agree. E.g. rdma migration would be up to migration maintainers.
--
MST