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: Fri, 30 May 2025 14:25:59 -0300 [thread overview]
Message-ID: <20250530172559.GQ233377@nvidia.com> (raw)
In-Reply-To: <CALzav=fxvZNY=nBhDKZP=MGEDx5iGqCi-noDRo3q7eENJ5XBWw@mail.gmail.com>
On Fri, May 30, 2025 at 09:50:22AM -0700, David Matlack wrote:
> On Mon, May 26, 2025 at 10:15 AM Jason Gunthorpe <jgg@nvidia.com> wrote:
> >
> > On Fri, May 23, 2025 at 11:29:52PM +0000, David Matlack wrote:
> > > From: Josh Hilke <jrhilke@google.com>
> > >
> > > Add a command line arg to vfio_dma_mapping_test to choose the size of
> > > page which is mapped in VFIO.
> >
> > This doesn't seem right..
> >
> > Tests should run automously, test all possible sizes using a fixture.
>
> This test uses a fixture already. I assume you're referring to
> FIXTURE_VARIANT()?
Yes
> 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:
/**
* KUNIT_CASE_PARAM - A helper for creation a parameterized &struct kunit_case
*
* @test_name: a reference to a test case function.
* @gen_params: a reference to a parameter generator function.
*
* The generator function::
*
* const void* gen_params(const void *prev, char *desc)
*
* is used to lazily generate a series of arbitrarily typed values that fit into
* a void*. The argument @prev is the previously returned value, which should be
* used to derive the next value; @prev is set to NULL on the initial generator
* call. When no more values are available, the generator must return NULL.
* Optionally write a string into @desc (size of KUNIT_PARAM_DESC_SIZE)
* describing the parameter.
*/
#define KUNIT_CASE_PARAM(test_name, gen_params) \
{ .run_case = test_name, .name = #test_name, \
.generate_params = gen_params, .module_name = KBUILD_MODNAME}
> For context, the pattern of passing in test configuration via flags
> rather than automatically testing all combinations is something
> inherited from KVM selftests. That's the common pattern there. There's
> some work happening there to encode configurations at a higher level
> using testcase files and a runner [1].
IMHO it is not good, it should be done with fixtures and variants
slicing the test by matching the test fixture/name/etc.
It doesn't really make sense to have a C test runner that you have to
invoke from bash just because the C stuff is not very good..
> - The library needs to know which device to use. In this RFC that
> works by the user passing in BDF as a positional argument to each
> test.
I'd probably say it should scan the available vfio devices and pick
the first that it understands how to use. Command line would be an
option.
> - For tests that use HugeTLB (like this one), the test requires the
> user to have already allocated HugeTLB memory for it to use.
Other tests do this already, like the iommufd test assumes it can get
hugetlb mmaps. Skip the tests on allocation failure is the best I
think you can do.
It would be nice to have test metadata so a runner frame work could
know to provide this stuff in the environment.
Jason
next prev parent reply other threads:[~2025-05-30 17:26 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 [this message]
2025-06-06 23:05 ` David Matlack
2025-06-09 0:23 ` Jason Gunthorpe
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=20250530172559.GQ233377@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.