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

2024-03-28 Thread Daniel P . Berrangé
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

2024-03-28 Thread Philippe Mathieu-Daudé

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

2024-03-28 Thread Michael S. Tsirkin
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 -
> >   

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

2024-03-28 Thread Daniel P . Berrangé
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

2024-03-28 Thread Thomas Huth

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 

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

2024-03-27 Thread Fabiano Rosas
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