The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: David Matlack <dmatlack@google.com>
To: Narayana Murty N <nnmlinux@linux.ibm.com>
Cc: alex@shazbot.org, shuah@kernel.org, amastro@fb.com,
	rananta@google.com, kvm@vger.kernel.org,
	linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
	vaibhav@linux.ibm.com, sbhat@linux.ibm.com,
	harshpb@linux.ibm.com
Subject: Re: [RFC PATCH 0/6] selftests/vfio: Add sPAPR TCE v2 coverage
Date: Mon, 6 Jul 2026 22:55:34 +0000	[thread overview]
Message-ID: <akwyZvbv7Fg8mfB2@google.com> (raw)
In-Reply-To: <20260703032806.40946-1-nnmlinux@linux.ibm.com>

On 2026-07-02 11:28 PM, Narayana Murty N wrote:
> This RFC adds PowerPC sPAPR TCE v2 support to VFIO selftests.

nit: Please use "vfio: selftests: ..." for commit shortlogs.

> The series adds a selftest IOMMU mode for the legacy VFIO container
> backend, adds helpers for default and dynamic DMA windows, and exercises
> the sPAPR DDW path through the DMA mapping tests.

Thanks for sending. Is there anyway I could run these tests on PowerPC,
e.g. with QEMU, to try things out? I don't have access to any hardware.

> sPAPR TCE v2 remains a legacy VFIO container backend. This series does
> not add iommufd or VFIO cdev support for sPAPR.
> 
> The main points are
> 1. add VFIO_SELFTESTS_IOMMU_MODE for selecting a backend
> 2. add vfio_spapr_tce_v2_iommu as the PowerPC VFIO backend
> 3. preserve the platform default DMA window
> 4. create and tear down only selftest-created DDWs
> 5. prepare the DMA window before IOVA allocation
> 6. exercise DDW creation for hugepage DMA mappings
> 7. accept sPAPR-specific errno for invalid DMA ranges
> 
> Example:
> 
> VFIO_SELFTESTS_IOMMU_MODE=vfio_spapr_tce_v2_iommu
> ./vfio_dma_mapping_test <BDF>
> 
> Observed coverage includes anonymous mappings through the default window
> and 2MB hugetlb mappings through a DDW. 1GB hugetlb mappings may skip when
> the platform rejects the requested DDW characteristics.
> 
> Feedback is requested from the VFIO and PowerPC communities on:
> 1. whether the sPAPR TCE v2 helpers should remain in the common VFIO
> selftest library or move into a sPAPR-specific test helper?

Responded in the patch. Let's move to their own file.

> 2. whether DDW setup through hugepage mappings is the right initial
> coverage?

One thing I'm not sure is how much value you get out of exercising the
DDW stuff through that test specifically. Would it make more sense to
have a DDW-specific test so you can test all the edge cases you care
about directly instead? Then vfio_dma_mapping_test can stay generic.

BTW, is that the only test that passes right now? What is the status of
the other VFIO selftests on PowerPC after this series?

> 3. whether the sPAPR-specific overflow errno expectation should be
> accepted, skipped, or hidden behind a backend helper?

Responded in the patch. Let's keep the check but base it off IOMMU mode
not __powerpc__. Also it'd be good to avoid duplicating the code with a
helper function or macro but that's a small thing.

> 4. whether PowerPC should generate only the sPAPR TCE v2 fixture variants,
> or keep the generic IOMMU-mode matrix and skip unsupported modes.

For (4), I think skipping unsupported modes would be a good improvement.
Even on x86 and ARM we would want that feature. e.g. It's possible for
someone to run VFIO selftests on a kernel that has VFIO Type1 IOMMUs
enabled but not IOMMUFD. Today that will cause all the tests to fail.
But ideally it would wouldn't. Tests that just want the default IOMMU
mode should use Type1, and tests that want to replicate across all IOMMU
modes should skip the IOMMUFD variants. Same thing applies to the SPAPR
IOMMU mode.

> 
> TODO: vfio_spapr_tce_v1_iommu yet to be covered.
> 
> Narayana Murty N (6):
>   selftests/vfio: allow selecting IOMMU backend from environment
>   selftests/vfio: add sPAPR TCE v2 IOMMU mode
>   selftests/vfio: add sPAPR TCE v2 DMA window helpers
>   selftests/vfio: Exercise sPAPR DDW path for hugepage DMA mappings
>   selftests/vfio: Accept sPAPR errno for DMA range overflow
>   selftests/vfio: Enable VFIO selftests on ppc64 and ppc64le
> 
>  .../selftests/vfio/lib/include/libvfio.h      |   9 +
>  .../vfio/lib/include/libvfio/iommu.h          |  26 ++
>  tools/testing/selftests/vfio/lib/iommu.c      | 280 +++++++++++++++++-
>  tools/testing/selftests/vfio/lib/libvfio.c    |  37 +++
>  .../selftests/vfio/vfio_dma_mapping_test.c    |  30 ++
>  .../selftests/vfio/vfio_pci_device_test.c     |   4 +-
>  tools/testing/selftests/vfio/Makefile         |   2 +-
>  7 files changed, 382 insertions(+), 6 deletions(-)
> 
> -- 
> 2.51.1
> 

      parent reply	other threads:[~2026-07-06 22:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-03  3:28 [RFC PATCH 0/6] selftests/vfio: Add sPAPR TCE v2 coverage Narayana Murty N
2026-07-03  3:28 ` [RFC PATCH 1/6] selftests/vfio: allow selecting IOMMU backend from environment Narayana Murty N
2026-07-06 21:49   ` David Matlack
2026-07-03  3:28 ` [RFC PATCH 2/6] selftests/vfio: add sPAPR TCE v2 IOMMU mode Narayana Murty N
2026-07-03  3:28 ` [RFC PATCH 3/6] selftests/vfio: add sPAPR TCE v2 DMA window helpers Narayana Murty N
2026-07-06 22:04   ` David Matlack
2026-07-06 22:17   ` David Matlack
2026-07-03  3:28 ` [RFC PATCH 4/6] selftests/vfio: Exercise sPAPR DDW path for hugepage DMA mappings Narayana Murty N
2026-07-06 22:33   ` David Matlack
2026-07-06 22:41     ` David Matlack
2026-07-03  3:28 ` [RFC PATCH 5/6] selftests/vfio: Accept sPAPR errno for DMA range overflow Narayana Murty N
2026-07-06 22:47   ` David Matlack
2026-07-03  3:28 ` [RFC PATCH 6/6] selftests/vfio: Enable VFIO selftests on ppc64 and ppc64le Narayana Murty N
2026-07-03  8:28 ` [RFC PATCH 0/6] selftests/vfio: Add sPAPR TCE v2 coverage Harsh Prateek Bora
2026-07-06 22:55 ` David Matlack [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=akwyZvbv7Fg8mfB2@google.com \
    --to=dmatlack@google.com \
    --cc=alex@shazbot.org \
    --cc=amastro@fb.com \
    --cc=harshpb@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=nnmlinux@linux.ibm.com \
    --cc=rananta@google.com \
    --cc=sbhat@linux.ibm.com \
    --cc=shuah@kernel.org \
    --cc=vaibhav@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox