virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH vhost v2 00/16] vdpa: Add support for vq descriptor mappings
@ 2023-09-28 16:45 Dragos Tatulea via Virtualization
  2023-09-28 16:45 ` [PATCH mlx5-next 01/16] vdpa/mlx5: Expose descriptor group mkey hw capability Dragos Tatulea via Virtualization
                   ` (18 more replies)
  0 siblings, 19 replies; 28+ messages in thread
From: Dragos Tatulea via Virtualization @ 2023-09-28 16:45 UTC (permalink / raw)
  To: eperezma, gal, Michael S . Tsirkin, Jason Wang, Saeed Mahameed,
	Leon Romanovsky, Xuan Zhuo
  Cc: kvm, linux-rdma, netdev, linux-kernel, virtualization

This patch series adds support for vq descriptor table mappings which
are used to improve vdpa live migration downtime. The improvement comes
from using smaller mappings which take less time to create and destroy
in hw.

The first part adds the vdpa core changes from Si-Wei [0].

The second part adds support in mlx5_vdpa:
- Refactor the mr code to be able to cleanly add descriptor mappings.
- Add hardware descriptor mr support.
- Properly update iotlb for cvq during ASID switch.

Changes in v2:

- The "vdpa/mlx5: Enable hw support for vq descriptor mapping" change
  was split off into two patches to avoid merge conflicts into the tree
  of Linus.

  The first patch contains only changes for mlx5_ifc.h. This must be
  applied into the mlx5-next tree [1] first. Once this patch is applied
  on mlx5-next, the change has to be pulled fom mlx5-next into the vhost
  tree and only then the remaining patches can be applied.

[0] https://lore.kernel.org/virtualization/1694248959-13369-1-git-send-email-si-wei.liu@oracle.com
[1] https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git/log/?h=mlx5-next

Dragos Tatulea (13):
  vdpa/mlx5: Expose descriptor group mkey hw capability
  vdpa/mlx5: Create helper function for dma mappings
  vdpa/mlx5: Decouple cvq iotlb handling from hw mapping code
  vdpa/mlx5: Take cvq iotlb lock during refresh
  vdpa/mlx5: Collapse "dvq" mr add/delete functions
  vdpa/mlx5: Rename mr destroy functions
  vdpa/mlx5: Allow creation/deletion of any given mr struct
  vdpa/mlx5: Move mr mutex out of mr struct
  vdpa/mlx5: Improve mr update flow
  vdpa/mlx5: Introduce mr for vq descriptor
  vdpa/mlx5: Enable hw support for vq descriptor mapping
  vdpa/mlx5: Make iotlb helper functions more generic
  vdpa/mlx5: Update cvq iotlb mapping on ASID change

Si-Wei Liu (3):
  vdpa: introduce dedicated descriptor group for virtqueue
  vhost-vdpa: introduce descriptor group backend feature
  vhost-vdpa: uAPI to get dedicated descriptor group id

 drivers/vdpa/mlx5/core/mlx5_vdpa.h |  31 +++--
 drivers/vdpa/mlx5/core/mr.c        | 191 ++++++++++++++++-------------
 drivers/vdpa/mlx5/core/resources.c |   6 +-
 drivers/vdpa/mlx5/net/mlx5_vnet.c  | 100 ++++++++++-----
 drivers/vhost/vdpa.c               |  27 ++++
 include/linux/mlx5/mlx5_ifc.h      |   8 +-
 include/linux/mlx5/mlx5_ifc_vdpa.h |   7 +-
 include/linux/vdpa.h               |  11 ++
 include/uapi/linux/vhost.h         |   8 ++
 include/uapi/linux/vhost_types.h   |   5 +
 10 files changed, 264 insertions(+), 130 deletions(-)

-- 
2.41.0

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH vhost v2 00/16] vdpa: Add support for vq descriptor mappings
@ 2023-09-28 16:33 Dragos Tatulea via Virtualization
  0 siblings, 0 replies; 28+ messages in thread
From: Dragos Tatulea via Virtualization @ 2023-09-28 16:33 UTC (permalink / raw)
  To: eperezma, gal, Jason Wang, Leon Romanovsky, Michael S. Tsirkin,
	Saeed Mahameed, Xuan Zhuo
  Cc: kvm, linux-rdma, netdev, virtualization, linux-kernel

This patch series adds support for vq descriptor table mappings which
are used to improve vdpa live migration downtime. The improvement comes
from using smaller mappings which take less time to create and destroy
in hw.

The first part adds the vdpa core changes from Si-Wei [0].

The second part adds support in mlx5_vdpa:
- Refactor the mr code to be able to cleanly add descriptor mappings.
- Add hardware descriptor mr support.
- Properly update iotlb for cvq during ASID switch.

Changes in v2:

- The "vdpa/mlx5: Enable hw support for vq descriptor mapping" change
  was split off into two patches to avoid merge conflicts into the tree
  of Linus.

  The first patch contains only changes for mlx5_ifc.h. This must be
  applied into the mlx5-next tree [1] first. Once this patch is applied
  on mlx5-next, the change has to be pulled fom mlx5-next into the vhost
  tree and only then the remaining patches can be applied.

[0] https://lore.kernel.org/virtualization/1694248959-13369-1-git-send-email-si-wei.liu@oracle.com
[1] https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git/log/?h=mlx5-next

Dragos Tatulea (13):
  vdpa/mlx5: Expose descriptor group mkey hw capability
  vdpa/mlx5: Create helper function for dma mappings
  vdpa/mlx5: Decouple cvq iotlb handling from hw mapping code
  vdpa/mlx5: Take cvq iotlb lock during refresh
  vdpa/mlx5: Collapse "dvq" mr add/delete functions
  vdpa/mlx5: Rename mr destroy functions
  vdpa/mlx5: Allow creation/deletion of any given mr struct
  vdpa/mlx5: Move mr mutex out of mr struct
  vdpa/mlx5: Improve mr update flow
  vdpa/mlx5: Introduce mr for vq descriptor
  vdpa/mlx5: Enable hw support for vq descriptor mapping
  vdpa/mlx5: Make iotlb helper functions more generic
  vdpa/mlx5: Update cvq iotlb mapping on ASID change

Si-Wei Liu (3):
  vdpa: introduce dedicated descriptor group for virtqueue
  vhost-vdpa: introduce descriptor group backend feature
  vhost-vdpa: uAPI to get dedicated descriptor group id

 drivers/vdpa/mlx5/core/mlx5_vdpa.h |  31 +++--
 drivers/vdpa/mlx5/core/mr.c        | 191 ++++++++++++++++-------------
 drivers/vdpa/mlx5/core/resources.c |   6 +-
 drivers/vdpa/mlx5/net/mlx5_vnet.c  | 100 ++++++++++-----
 drivers/vhost/vdpa.c               |  27 ++++
 include/linux/mlx5/mlx5_ifc.h      |   8 +-
 include/linux/mlx5/mlx5_ifc_vdpa.h |   7 +-
 include/linux/vdpa.h               |  11 ++
 include/uapi/linux/vhost.h         |   8 ++
 include/uapi/linux/vhost_types.h   |   5 +
 10 files changed, 264 insertions(+), 130 deletions(-)

-- 
2.41.0

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

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

end of thread, other threads:[~2023-10-05 19:18 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-28 16:45 [PATCH vhost v2 00/16] vdpa: Add support for vq descriptor mappings Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH mlx5-next 01/16] vdpa/mlx5: Expose descriptor group mkey hw capability Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 02/16] vdpa: introduce dedicated descriptor group for virtqueue Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 03/16] vhost-vdpa: introduce descriptor group backend feature Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 04/16] vhost-vdpa: uAPI to get dedicated descriptor group id Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 05/16] vdpa/mlx5: Create helper function for dma mappings Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 06/16] vdpa/mlx5: Decouple cvq iotlb handling from hw mapping code Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 07/16] vdpa/mlx5: Take cvq iotlb lock during refresh Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 08/16] vdpa/mlx5: Collapse "dvq" mr add/delete functions Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 09/16] vdpa/mlx5: Rename mr destroy functions Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 10/16] vdpa/mlx5: Allow creation/deletion of any given mr struct Dragos Tatulea via Virtualization
2023-10-03  8:11   ` Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 11/16] vdpa/mlx5: Move mr mutex out of " Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 12/16] vdpa/mlx5: Improve mr update flow Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 13/16] vdpa/mlx5: Introduce mr for vq descriptor Dragos Tatulea via Virtualization
     [not found]   ` <CAJaqyWfgzUYZdib2TtuJBB7qNBCoiqdHGii6w-M7m+bm8tXVhw@mail.gmail.com>
2023-10-05 12:09     ` Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 14/16] vdpa/mlx5: Enable hw support for vq descriptor mapping Dragos Tatulea via Virtualization
     [not found]   ` <CAJaqyWeRhJNZ8wbpEFARwBBNbE07n4xQdd-RvUoZooCeB4piPA@mail.gmail.com>
2023-10-05 12:16     ` Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 15/16] vdpa/mlx5: Make iotlb helper functions more generic Dragos Tatulea via Virtualization
     [not found]   ` <CAJaqyWe2btM+8Hbnq9ROyh-bhQA5vVwNk9xgSHb_gFme9dJViw@mail.gmail.com>
2023-10-05 12:16     ` Dragos Tatulea via Virtualization
2023-09-28 16:45 ` [PATCH vhost 16/16] vdpa/mlx5: Update cvq iotlb mapping on ASID change Dragos Tatulea via Virtualization
     [not found]   ` <CAJaqyWe9iYnh_DwZbU4986bSAZ0C1=Y9Th6-vv_ZRTTYwQqhYA@mail.gmail.com>
2023-10-05 13:12     ` Dragos Tatulea via Virtualization
2023-10-02 10:16 ` [PATCH vhost v2 00/16] vdpa: Add support for vq descriptor mappings Leon Romanovsky
2023-10-02 10:16 ` (subset) " Leon Romanovsky
2023-10-05 17:31 ` Michael S. Tsirkin
2023-10-05 17:44   ` Dragos Tatulea via Virtualization
2023-10-05 19:18     ` Michael S. Tsirkin
  -- strict thread matches above, loose matches on Subject: below --
2023-09-28 16:33 Dragos Tatulea via Virtualization

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).