[GEDI] [PATCH-for-9.1] rdma: Remove RDMA subsystem and pvrdma device

Michael S. Tsirkin mst at redhat.com
Thu Mar 28 09:59:40 UTC 2024


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 at redhat.com>
> > Cc: Li Zhijian <lizhijian at fujitsu.com>
> > Cc: Yuval Shaia <yuval.shaia.ml at gmail.com>
> > Cc: Marcel Apfelbaum <marcel.apfelbaum at gmail.com>
> > Signed-off-by: Philippe Mathieu-Daudé <philmd at 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



More information about the integration mailing list