lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJHc60zkNOrWtzEPr00a6=fHpcW1KmGRu7Txcohe=LHnS6OL_Q@mail.gmail.com>
Date: Mon, 24 Nov 2025 16:50:09 +0530
From: Raghavendra Rao Ananta <rananta@...gle.com>
To: David Matlack <dmatlack@...gle.com>
Cc: Alex Williamson <alex@...zbot.org>, Alex Mastro <amastro@...com>, Jason Gunthorpe <jgg@...dia.com>, 
	Josh Hilke <jrhilke@...gle.com>, kvm@...r.kernel.org, linux-kernel@...r.kernel.org, 
	linux-kselftest@...r.kernel.org, Vipin Sharma <vipinsh@...gle.com>
Subject: Re: [PATCH v3 00/18] vfio: selftests: Support for multi-device tests

On Fri, Nov 21, 2025 at 11:44 PM David Matlack <dmatlack@...gle.com> wrote:
>
> This series adds support for tests that use multiple devices, and adds
> one new test, vfio_pci_device_init_perf_test, which measures parallel
> device initialization time to demonstrate the improvement from commit
> e908f58b6beb ("vfio/pci: Separate SR-IOV VF dev_set").
>
> This series also breaks apart the monolithic vfio_util.h and
> vfio_pci_device.c into separate files, to account for all the new code.
> This required quite a bit of code motion so the diffstat looks large.
> The final layout is more granular and provides a better separation of
> the IOMMU code from the device code.
>
> Final layout:
>
>   C files:
>     - tools/testing/selftests/vfio/lib/libvfio.c
>     - tools/testing/selftests/vfio/lib/iommu.c
>     - tools/testing/selftests/vfio/lib/iova_allocator.c
>     - tools/testing/selftests/vfio/lib/vfio_pci_device.c
>     - tools/testing/selftests/vfio/lib/vfio_pci_driver.c
>
>   H files:
>    - tools/testing/selftests/vfio/lib/include/libvfio.h
>    - tools/testing/selftests/vfio/lib/include/libvfio/assert.h
>    - tools/testing/selftests/vfio/lib/include/libvfio/iommu.h
>    - tools/testing/selftests/vfio/lib/include/libvfio/iova_allocator.h
>    - tools/testing/selftests/vfio/lib/include/libvfio/vfio_pci_device.h
>    - tools/testing/selftests/vfio/lib/include/libvfio/vfio_pci_driver.h
>
> Notably, vfio_util.h is now gone and replaced with libvfio.h.
>
> This series is based on vfio/next plus Alex Mastro's series to add the
> IOVA allocator [1]. It should apply cleanly to vfio/next once Alex's
> series is merged by Linus into the next 6.18 rc and then merged into
> vfio/next.
>
> This series can be found on GitHub:
>
>   https://github.com/dmatlack/linux/tree/vfio/selftests/init_perf_test/v3
>
> [1] https://lore.kernel.org/kvm/20251111-iova-ranges-v3-0-7960244642c5@fb.com/
>
> Cc: Alex Mastro <amastro@...com>
> Cc: Jason Gunthorpe <jgg@...dia.com>
> Cc: Josh Hilke <jrhilke@...gle.com>
> Cc: Raghavendra Rao Ananta <rananta@...gle.com>
> Cc: Vipin Sharma <vipinsh@...gle.com>
>
> v3:
>  - Replace literal with NSEC_PER_SEC (Alex Mastro)
>  - Fix Makefile accumulate vs. assignment (Alex Mastro)
>
> v2: https://lore.kernel.org/kvm/20251112192232.442761-1-dmatlack@google.com/
>
> v1: https://lore.kernel.org/kvm/20251008232531.1152035-1-dmatlack@google.com/
>
> David Matlack (18):
>   vfio: selftests: Move run.sh into scripts directory
>   vfio: selftests: Split run.sh into separate scripts
>   vfio: selftests: Allow passing multiple BDFs on the command line
>   vfio: selftests: Rename struct vfio_iommu_mode to iommu_mode
>   vfio: selftests: Introduce struct iommu
>   vfio: selftests: Support multiple devices in the same
>     container/iommufd
>   vfio: selftests: Eliminate overly chatty logging
>   vfio: selftests: Prefix logs with device BDF where relevant
>   vfio: selftests: Upgrade driver logging to dev_err()
>   vfio: selftests: Rename struct vfio_dma_region to dma_region
>   vfio: selftests: Move IOMMU library code into iommu.c
>   vfio: selftests: Move IOVA allocator into iova_allocator.c
>   vfio: selftests: Stop passing device for IOMMU operations
>   vfio: selftests: Rename vfio_util.h to libvfio.h
>   vfio: selftests: Move vfio_selftests_*() helpers into libvfio.c
>   vfio: selftests: Split libvfio.h into separate header files
>   vfio: selftests: Eliminate INVALID_IOVA
>   vfio: selftests: Add vfio_pci_device_init_perf_test
>
>  tools/testing/selftests/vfio/Makefile         |  10 +-
>  .../selftests/vfio/lib/drivers/dsa/dsa.c      |  36 +-
>  .../selftests/vfio/lib/drivers/ioat/ioat.c    |  18 +-
>  .../selftests/vfio/lib/include/libvfio.h      |  26 +
>  .../vfio/lib/include/libvfio/assert.h         |  54 ++
>  .../vfio/lib/include/libvfio/iommu.h          |  76 +++
>  .../vfio/lib/include/libvfio/iova_allocator.h |  23 +
>  .../lib/include/libvfio/vfio_pci_device.h     | 125 ++++
>  .../lib/include/libvfio/vfio_pci_driver.h     |  97 +++
>  .../selftests/vfio/lib/include/vfio_util.h    | 331 -----------
>  tools/testing/selftests/vfio/lib/iommu.c      | 465 +++++++++++++++
>  .../selftests/vfio/lib/iova_allocator.c       |  94 +++
>  tools/testing/selftests/vfio/lib/libvfio.c    |  78 +++
>  tools/testing/selftests/vfio/lib/libvfio.mk   |   5 +-
>  .../selftests/vfio/lib/vfio_pci_device.c      | 555 +-----------------
>  .../selftests/vfio/lib/vfio_pci_driver.c      |  16 +-
>  tools/testing/selftests/vfio/run.sh           | 109 ----
>  .../testing/selftests/vfio/scripts/cleanup.sh |  41 ++
>  tools/testing/selftests/vfio/scripts/lib.sh   |  42 ++
>  tools/testing/selftests/vfio/scripts/run.sh   |  16 +
>  tools/testing/selftests/vfio/scripts/setup.sh |  48 ++
>  .../selftests/vfio/vfio_dma_mapping_test.c    |  46 +-
>  .../selftests/vfio/vfio_iommufd_setup_test.c  |   2 +-
>  .../vfio/vfio_pci_device_init_perf_test.c     | 168 ++++++
>  .../selftests/vfio/vfio_pci_device_test.c     |  12 +-
>  .../selftests/vfio/vfio_pci_driver_test.c     |  51 +-
>  26 files changed, 1481 insertions(+), 1063 deletions(-)
>  create mode 100644 tools/testing/selftests/vfio/lib/include/libvfio.h
>  create mode 100644 tools/testing/selftests/vfio/lib/include/libvfio/assert.h
>  create mode 100644 tools/testing/selftests/vfio/lib/include/libvfio/iommu.h
>  create mode 100644 tools/testing/selftests/vfio/lib/include/libvfio/iova_allocator.h
>  create mode 100644 tools/testing/selftests/vfio/lib/include/libvfio/vfio_pci_device.h
>  create mode 100644 tools/testing/selftests/vfio/lib/include/libvfio/vfio_pci_driver.h
>  delete mode 100644 tools/testing/selftests/vfio/lib/include/vfio_util.h
>  create mode 100644 tools/testing/selftests/vfio/lib/iommu.c
>  create mode 100644 tools/testing/selftests/vfio/lib/iova_allocator.c
>  create mode 100644 tools/testing/selftests/vfio/lib/libvfio.c
>  delete mode 100755 tools/testing/selftests/vfio/run.sh
>  create mode 100755 tools/testing/selftests/vfio/scripts/cleanup.sh
>  create mode 100755 tools/testing/selftests/vfio/scripts/lib.sh
>  create mode 100755 tools/testing/selftests/vfio/scripts/run.sh
>  create mode 100755 tools/testing/selftests/vfio/scripts/setup.sh
>  create mode 100644 tools/testing/selftests/vfio/vfio_pci_device_init_perf_test.c
>
>
> base-commit: fa804aa4ac1b091ef2ec2981f08a1c28aaeba8e7
> prerequisite-patch-id: dcf23dcc1198960bda3102eefaa21df60b2e4c54
> prerequisite-patch-id: e32e56d5bf7b6c7dd40d737aa3521560407e00f5
> prerequisite-patch-id: 4f79a41bf10a4c025ba5f433551b46035aa15878
> prerequisite-patch-id: f903a45f0c32319138cd93a007646ab89132b18c
> --
> 2.52.0.rc2.455.g230fcf2819-goog
>
Apart from a couple of minor nits in patch-6:
Reviewed-by: Raghavendra Rao Ananta <rananta@...gle.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ