virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH vhost 0/7] vdpa/mlx5: Add support for resumable vqs
@ 2023-12-01 10:48 Dragos Tatulea
  2023-12-01 10:48 ` [PATCH mlx5-vhost 1/7] vdpa/mlx5: Expose resumable vq capability Dragos Tatulea
                   ` (8 more replies)
  0 siblings, 9 replies; 22+ messages in thread
From: Dragos Tatulea @ 2023-12-01 10:48 UTC (permalink / raw)
  To: Michael S . Tsirkin, Jason Wang, Eugenio Perez Martin, Si-Wei Liu,
	Saeed Mahameed, Leon Romanovsky, virtualization
  Cc: Dragos Tatulea, kvm, linux-kernel, Gal Pressman, Parav Pandit,
	Xuan Zhuo

Add support for resumable vqs in the driver. This is a firmware feature
that can be used for the following benefits:
- Full device .suspend/.resume.
- .set_map doesn't need to destroy and create new vqs anymore just to
  update the map. When resumable vqs are supported it is enough to
  suspend the vqs, set the new maps, and then resume the vqs.

The first patch exposes the relevant bits in mlx5_ifc.h. That means it
needs to be applied to the mlx5-vhost tree [0] first. Once applied
there, the change has to be pulled from mlx5-vhost into the vhost tree
and only then the remaining patches can be applied. Same flow as the vq
descriptor mappings patchset [1].

To be able to use resumable vqs properly, support for selectively modifying
vq parameters was needed. This is what the middle part of the series
consists of.

[0] https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git/log/?h=mlx5-vhost
[1] https://lore.kernel.org/virtualization/20231018171456.1624030-2-dtatulea@nvidia.com/

Dragos Tatulea (7):
  vdpa/mlx5: Expose resumable vq capability
  vdpa/mlx5: Split function into locked and unlocked variants
  vdpa/mlx5: Allow modifying multiple vq fields in one modify command
  vdpa/mlx5: Introduce per vq and device resume
  vdpa/mlx5: Mark vq addrs for modification in hw vq
  vdpa/mlx5: Mark vq state for modification in hw vq
  vdpa/mlx5: Use vq suspend/resume during .set_map

 drivers/vdpa/mlx5/core/mr.c        |  31 +++---
 drivers/vdpa/mlx5/net/mlx5_vnet.c  | 172 +++++++++++++++++++++++++----
 include/linux/mlx5/mlx5_ifc.h      |   3 +-
 include/linux/mlx5/mlx5_ifc_vdpa.h |   4 +
 4 files changed, 174 insertions(+), 36 deletions(-)

-- 
2.42.0


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2023-12-04 13:10 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-01 10:48 [PATCH vhost 0/7] vdpa/mlx5: Add support for resumable vqs Dragos Tatulea
2023-12-01 10:48 ` [PATCH mlx5-vhost 1/7] vdpa/mlx5: Expose resumable vq capability Dragos Tatulea
2023-12-01 10:48 ` [PATCH vhost 2/7] vdpa/mlx5: Split function into locked and unlocked variants Dragos Tatulea
2023-12-01 11:46   ` Eugenio Perez Martin
2023-12-01 10:48 ` [PATCH vhost 3/7] vdpa/mlx5: Allow modifying multiple vq fields in one modify command Dragos Tatulea
2023-12-01 14:47   ` Eugenio Perez Martin
2023-12-01 15:26     ` Dragos Tatulea
2023-12-01 10:48 ` [PATCH vhost 4/7] vdpa/mlx5: Introduce per vq and device resume Dragos Tatulea
2023-12-01 14:51   ` Eugenio Perez Martin
2023-12-01 10:48 ` [PATCH vhost 5/7] vdpa/mlx5: Mark vq addrs for modification in hw vq Dragos Tatulea
2023-12-01 10:48 ` [PATCH vhost 6/7] vdpa/mlx5: Mark vq state " Dragos Tatulea
2023-12-01 15:18   ` Eugenio Perez Martin
2023-12-01 10:48 ` [PATCH vhost 7/7] vdpa/mlx5: Use vq suspend/resume during .set_map Dragos Tatulea
2023-12-02 20:26 ` [PATCH vhost 0/7] vdpa/mlx5: Add support for resumable vqs Michael S. Tsirkin
2023-12-03 15:21   ` Dragos Tatulea
2023-12-03 16:23     ` Michael S. Tsirkin
2023-12-04  8:53       ` Dragos Tatulea
2023-12-04  8:55         ` Michael S. Tsirkin
2023-12-04  9:16           ` Dragos Tatulea
2023-12-04 11:04             ` Michael S. Tsirkin
2023-12-04 11:18               ` Dragos Tatulea
2023-12-04 13:10 ` (subset) " Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).