linux/drivers/vdpa
Dragos Tatulea dcf3eac01f vdpa/mlx5: Parallelize device suspend
Currently device suspend works on vqs serially. Building up on previous
changes that converted vq operations to the async api, this patch
parallelizes the device suspend:
1) Suspend all active vqs parallel.
2) Query suspended vqs in parallel.

For 1 vDPA device x 32 VQs (16 VQPs) attached to a large VM (256 GB RAM,
32 CPUs x 2 threads per core), the device suspend time is reduced from
~37 ms to ~13 ms.

A later patch will remove the link unregister operation which will make
it even faster.

Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20240816090159.1967650-7-dtatulea@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
2024-09-25 07:07:42 -04:00
..
alibaba eni_vdpa: implement vdpa_config_ops.get_vq_size 2024-03-19 02:45:50 -04:00
ifcvf vDPA: add missing MODULE_DESCRIPTION() macros 2024-07-09 08:42:41 -04:00
mlx5 vdpa/mlx5: Parallelize device suspend 2024-09-25 07:07:42 -04:00
octeon_ep vdpa/octeon_ep: Fix error code in octep_process_mbox() 2024-07-17 05:43:20 -04:00
pds vdpa/pds: fixes for VF vdpa flr-aer handling 2024-03-19 02:45:49 -04:00
solidrun vdpa/snet: implement the resume vDPA callback 2023-06-27 10:47:08 -04:00
vdpa_sim vdpa_sim_net: Add the support of set mac address 2024-09-10 02:51:48 -04:00
vdpa_user vduse: enable Virtio-net device type 2024-03-19 08:19:15 -04:00
virtio_pci vp_vdpa: don't allocate unused msix vectors 2024-05-22 08:31:18 -04:00
Kconfig virtio: vdpa: vDPA driver for Marvell OCTEON DPU devices 2024-07-09 08:42:39 -04:00
Makefile virtio: vdpa: vDPA driver for Marvell OCTEON DPU devices 2024-07-09 08:42:39 -04:00
vdpa.c vdpa: support set mac address from vdpa tool 2024-09-10 02:51:48 -04:00