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 <pet...@redhat.com>
Cc: Li Zhijian <lizhij...@fujitsu.com>
Cc: Yuval Shaia <yuval.shaia...@gmail.com>
Cc: Marcel Apfelbaum <marcel.apfelb...@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <phi...@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


Reply via email to