[GIT PULL] Please pull mlx5 VFIO PCI DMA conversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,

Please accept this pull request, which presents subset of new DMA-API
patchset [1] specific for VFIO subsystem.

It is based on Marek's dma-mapping-for-6.16-two-step-api branch, so merging
now will allow us to reduce possible rebase errors in mlx5 vfio code and give
enough time to start to work on second driver conversion. Such conversion will
allow us to generalize the API for VFIO kernel drivers, in similiar way that
was done for RDMA, HMM and block layers.

Thanks

[1] [PATCH v10 00/24] Provide a new two step DMA mapping API
https://lore.kernel.org/all/cover.1745831017.git.leon@xxxxxxxxxx/

----------------------------------------------------------------
The following changes since commit 3ee7d9496342246f4353716f6bbf64c945ff6e2d:

  docs: core-api: document the IOVA-based API (2025-05-06 08:36:54 +0200)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git tags/vfio-dma-two-step

for you to fetch changes up to 855c89a25e1756b7699b863afd4d6afcbd0de0d6:

  vfio/mlx5: Enable the DMA link API (2025-05-13 03:58:27 -0400)

----------------------------------------------------------------
Convert mlx5 VFIO PCI driver to new two step DMA API

This PR is based on newly accepted DMA API, which allows us
to avoid building scatter-gather lists just to batch mapping
and unmapping of pages.

VFIO PCI live migration code is building a very large "page list"
for the device. Instead of allocating a scatter list entry per
allocated page it can just allocate an array of 'struct page *',
saving a large amount of memory.

Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx>

----------------------------------------------------------------
Leon Romanovsky (3):
      vfio/mlx5: Explicitly use number of pages instead of allocated length
      vfio/mlx5: Rewrite create mkey flow to allow better code reuse
      vfio/mlx5: Enable the DMA link API

 drivers/vfio/pci/mlx5/cmd.c  | 375 +++++++++++++++++++++----------------------
 drivers/vfio/pci/mlx5/cmd.h  |  35 ++--
 drivers/vfio/pci/mlx5/main.c |  87 +++++-----
 3 files changed, 239 insertions(+), 258 deletions(-)




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux