On Sat, 2023-12-02 at 15:26 -0500, Michael S. Tsirkin wrote: > On Fri, Dec 01, 2023 at 12:48:50PM +0200, Dragos Tatulea wrote: > > 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. > > I didn't get this. Why does this need to go through that tree? > Is there a dependency on some other commit from that tree? > To avoid merge issues in Linus's tree in mlx5_ifc.h. The idea is the same as for the "vq descriptor mappings" patchset [1]. Thanks, Dragos > > 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@xxxxxxxxxx/ > > > > 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 >