All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: David Matlack <dmatlack@google.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
	Shuah Khan <shuah@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vinod Koul <vkoul@kernel.org>, Fenghua Yu <fenghua.yu@intel.com>,
	"Masami Hiramatsu (Google)" <mhiramat@kernel.org>,
	Adhemerval Zanella <adhemerval.zanella@linaro.org>,
	Jiri Olsa <jolsa@kernel.org>, Andrii Nakryiko <andrii@kernel.org>,
	Wei Yang <richard.weiyang@gmail.com>,
	Bjorn Helgaas <bhelgaas@google.com>, Takashi Iwai <tiwai@suse.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	FUJITA Tomonori <fujita.tomonori@gmail.com>,
	WangYuli <wangyuli@uniontech.com>,
	Sean Christopherson <seanjc@google.com>,
	Andrew Jones <ajones@ventanamicro.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Eric Auger <eric.auger@redhat.com>,
	Josh Hilke <jrhilke@google.com>,
	linux-kselftest@vger.kernel.org, kvm@vger.kernel.org,
	Kevin Tian <kevin.tian@intel.com>,
	Vipin Sharma <vipinsh@google.com>,
	Pasha Tatashin <pasha.tatashin@soleen.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Adithya Jayachandran <ajayachandra@nvidia.com>,
	Parav Pandit <parav@nvidia.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Vinicius Costa Gomes <vinicius.gomes@intel.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Dan Williams <dan.j.williams@intel.com>
Subject: Re: [RFC PATCH 07/33] vfio: selftests: Use command line to set hugepage size for DMA mapping test
Date: Sun, 8 Jun 2025 21:23:50 -0300	[thread overview]
Message-ID: <20250609002350.GL19710@nvidia.com> (raw)
In-Reply-To: <aEN0Sr96nyJkN3fL@google.com>

On Fri, Jun 06, 2025 at 11:05:46PM +0000, David Matlack wrote:
> On 2025-05-30 02:25 PM, Jason Gunthorpe wrote:
> > On Fri, May 30, 2025 at 09:50:22AM -0700, David Matlack wrote:
> > > I'll explore doing this. For a single dimension this looks possible.
> > > But for multiple dimensions (e.g. cross product of iommu_mode and
> > > backing_src) I don't see a clear way to do it. But that's just after a
> > > cursory look.
> > 
> > Explicitly list all the combinations with macros?
> > 
> > Enhance the userspace tests allow code to generate the
> > variants? Kernel tests can do this:
> 
> I got a chance to play around with generating fixture variants today and
> eneded up with this, which I think is pretty clean.
> 
> tools/testing/selftests/vfio/lib/include/vfio_util.h:
> 
>   #define ALL_IOMMU_MODES_VARIANT_ADD(...) \
>   __IOMMU_MODE_VARIANT_ADD(vfio_type1_iommu, ##__VA_ARGS__); \
>   __IOMMU_MODE_VARIANT_ADD(vfio_type1v2_iommu, ##__VA_ARGS__); \
>   __IOMMU_MODE_VARIANT_ADD(iommufd_compat_type1, ##__VA_ARGS__); \
>   __IOMMU_MODE_VARIANT_ADD(iommufd_compat_type1v2, ##__VA_ARGS__); \
>   __IOMMU_MODE_VARIANT_ADD(iommufd, ##__VA_ARGS__)
> 
> tools/testing/selftests/vfio/vfio_dma_mapping_test.c:
> 
>   #define __IOMMU_MODE_VARIANT_ADD(_iommu_mode, _name, _size, _mmap_flags)	\
>   FIXTURE_VARIANT_ADD(vfio_dma_mapping_test, _iommu_mode ## _name)		\
>   {										\
>   	.iommu_mode = #_iommu_mode,						\
>   	.size = (_size),							\
>   	.mmap_flags = MAP_ANONYMOUS | MAP_PRIVATE | (_mmap_flags),		\
>   }
> 
>   ALL_IOMMU_MODES_VARIANT_ADD(anonymous, 0, 0);
>   ALL_IOMMU_MODES_VARIANT_ADD(anonymous_hugetlb_2mb, SZ_2M, MAP_HUGETLB | MAP_HUGE_2MB);
>   ALL_IOMMU_MODES_VARIANT_ADD(anonymous_hugetlb_1gb, SZ_1G, MAP_HUGETLB | MAP_HUGE_1GB);
> 
>   #undef __IOMMU_MODE_VARIANT_ADD
> 
> Let me know if you think this looks reasonable.

Seems reasonable enough to me, not worth inventing a programmatic way to
generate them..

Jason

  reply	other threads:[~2025-06-09  0:24 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-23 23:29 [RFC PATCH 00/33] vfio: Introduce selftests for VFIO David Matlack
2025-05-23 23:29 ` [RFC PATCH 01/33] selftests: Create tools/testing/selftests/vfio David Matlack
2025-05-23 23:29 ` [RFC PATCH 02/33] vfio: selftests: Add a helper library for VFIO selftests David Matlack
2025-06-03  7:52   ` liulongfang
2025-05-23 23:29 ` [RFC PATCH 03/33] vfio: selftests: Introduce vfio_pci_device_test David Matlack
2025-05-23 23:29 ` [RFC PATCH 04/33] vfio: selftests: Test basic VFIO and IOMMUFD integration David Matlack
2025-06-02 23:08   ` Alex Williamson
2025-06-03 15:53     ` David Matlack
2025-05-23 23:29 ` [RFC PATCH 05/33] vfio: selftests: Move vfio dma mapping test to their own file David Matlack
2025-05-23 23:29 ` [RFC PATCH 06/33] vfio: selftests: Add test to reset vfio device David Matlack
2025-05-23 23:29 ` [RFC PATCH 07/33] vfio: selftests: Use command line to set hugepage size for DMA mapping test David Matlack
2025-05-26 17:15   ` Jason Gunthorpe
2025-05-30 16:50     ` David Matlack
2025-05-30 17:25       ` Jason Gunthorpe
2025-06-06 23:05         ` David Matlack
2025-06-09  0:23           ` Jason Gunthorpe [this message]
2025-05-23 23:29 ` [RFC PATCH 08/33] vfio: selftests: Validate 2M/1G HugeTLB are mapped as 2M/1G in IOMMU David Matlack
2025-05-26 17:16   ` Jason Gunthorpe
2025-05-27 23:04     ` David Matlack
2025-05-30 21:12   ` David Matlack
2025-05-31 19:09     ` Andy Shevchenko
2025-06-01  7:45       ` Greg Kroah-Hartman
2025-06-03 17:28         ` David Matlack
2025-05-23 23:29 ` [RFC PATCH 09/33] tools headers: Add stub definition for __iomem David Matlack
2025-05-23 23:29 ` [RFC PATCH 10/33] tools headers: Import asm-generic MMIO helpers David Matlack
2025-05-23 23:29 ` [RFC PATCH 11/33] tools headers: Import x86 MMIO helper overrides David Matlack
2025-05-23 23:29 ` [RFC PATCH 12/33] tools headers: Import iosubmit_cmds512() David Matlack
2025-05-23 23:29 ` [RFC PATCH 13/33] tools headers: Import drivers/dma/ioat/{hw.h,registers.h} David Matlack
2025-05-26 17:18   ` Jason Gunthorpe
2025-05-27 23:10     ` David Matlack
2025-05-23 23:29 ` [RFC PATCH 14/33] tools headers: Import drivers/dma/idxd/registers.h David Matlack
2025-05-23 23:30 ` [RFC PATCH 15/33] tools headers: Import linux/pci_ids.h David Matlack
2025-05-23 23:30 ` [RFC PATCH 16/33] vfio: selftests: Keep track of DMA regions mapped into the device David Matlack
2025-05-23 23:30 ` [RFC PATCH 17/33] vfio: selftests: Enable asserting MSI eventfds not firing David Matlack
2025-06-30 12:24   ` [PATCH RFC " Sairaj Kodilkar
2025-07-07 17:43     ` David Matlack
2025-05-23 23:30 ` [RFC PATCH 18/33] vfio: selftests: Add a helper for matching vendor+device IDs David Matlack
2025-05-23 23:30 ` [RFC PATCH 19/33] vfio: selftests: Add driver framework David Matlack
2025-05-23 23:30 ` [RFC PATCH 20/33] vfio: sefltests: Add vfio_pci_driver_test David Matlack
2025-05-23 23:30 ` [RFC PATCH 21/33] vfio: selftests: Add driver for Intel CBDMA David Matlack
2025-05-23 23:30 ` [RFC PATCH 22/33] vfio: selftests: Add driver for Intel DSA David Matlack
2025-05-23 23:30 ` [RFC PATCH 23/33] vfio: selftests: Move helper to get cdev path to libvfio David Matlack
2025-05-23 23:30 ` [RFC PATCH 24/33] vfio: selftests: Encapsulate IOMMU mode David Matlack
2025-05-23 23:30 ` [RFC PATCH 25/33] vfio: selftests: Add [-i iommu_mode] option to all tests David Matlack
2025-05-23 23:30 ` [RFC PATCH 26/33] vfio: selftests: Add vfio_type1v2_mode David Matlack
2025-05-23 23:30 ` [RFC PATCH 27/33] vfio: selftests: Add iommufd_compat_type1{,v2} modes David Matlack
2025-05-23 23:30 ` [RFC PATCH 28/33] vfio: selftests: Add iommufd mode David Matlack
2025-05-23 23:30 ` [RFC PATCH 29/33] vfio: selftests: Make iommufd the default iommu_mode David Matlack
2025-05-26 17:20   ` Jason Gunthorpe
2025-06-03 17:24     ` David Matlack
2025-05-23 23:30 ` [RFC PATCH 30/33] vfio: selftests: Add a script to help with running VFIO selftests David Matlack
2025-06-02 23:07   ` Alex Williamson
2025-06-03 15:51     ` David Matlack
2025-05-23 23:30 ` [RFC PATCH 31/33] KVM: selftests: Build and link sefltests/vfio/lib into KVM selftests David Matlack
2025-05-23 23:30 ` [RFC PATCH 32/33] KVM: selftests: Test sending a vfio-pci device IRQ to a VM David Matlack
2025-05-23 23:30 ` [RFC PATCH 33/33] KVM: selftests: Use real device MSIs in vfio_pci_device_irq_test David Matlack
2025-05-26  9:12 ` [RFC PATCH 00/33] vfio: Introduce selftests for VFIO Yi Liu
2025-05-27 17:26   ` David Matlack
2025-05-26 17:09 ` Jason Gunthorpe
2025-05-27 23:01   ` David Matlack
2025-05-28  0:11     ` Jason Gunthorpe
2025-05-28 21:52       ` David Matlack
2025-06-03  7:11     ` Joel Granados
2025-06-02 17:12 ` Cédric Le Goater

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=20250609002350.GL19710@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=adhemerval.zanella@linaro.org \
    --cc=ajayachandra@nvidia.com \
    --cc=ajones@ventanamicro.com \
    --cc=alex.williamson@redhat.com \
    --cc=andrii@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dmatlack@google.com \
    --cc=eric.auger@redhat.com \
    --cc=fenghua.yu@intel.com \
    --cc=fujita.tomonori@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=imbrenda@linux.ibm.com \
    --cc=jolsa@kernel.org \
    --cc=jrhilke@google.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=leonro@nvidia.com \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=parav@nvidia.com \
    --cc=pasha.tatashin@soleen.com \
    --cc=pbonzini@redhat.com \
    --cc=pierre-louis.bossart@linux.dev \
    --cc=richard.weiyang@gmail.com \
    --cc=saeedm@nvidia.com \
    --cc=seanjc@google.com \
    --cc=shuah@kernel.org \
    --cc=tiwai@suse.de \
    --cc=vinicius.gomes@intel.com \
    --cc=vipinsh@google.com \
    --cc=vkoul@kernel.org \
    --cc=wangyuli@uniontech.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.