Skip to content

Add tests for DMAEngine subsystem

Jerry Snitselaar requested to merge jsnitsel/kernel-tests:dmaengine into main

This adds a series of tests for the idxd, ioatdma, and ptdma drivers
along with some helper code for tests in the dmaengine subsystem,
and the iommu subsystem.

The idea behind the tests is to exercise both the dmaengine driver and
the dma-mapping api paths (with the iommu underneath). It has been
broken up to have test running a single test against a specific iommu
configuration.

For the ioatdma, and ptdma drivers the dmatest module from
kernel-modules-internal is used to test with batched iotlb
invalidation, strict iotlb invalidation, and passthrough dma domains.

For the idxd driver the dmatest module is used to test the idxd
dmaengine workqueue driver with a combination of either Scalable Mode
enabled or disabled, and one of batched iotlb invalidation, strict
iotlb invalidation, or passthrough dma domains.

The idxd driver also runs the dsa_config_test_runner.sh,
dsa_user_test_runner.sh, and iaa_user_test_runner.sh scripts from the
accel-config-test package with Scalable Mode enabled, and either
batched iotlb invalidation, strict iotlb invalidation, or passthrough
dma domains.

Each test directory should include at least one hostreqs.xml with the
beaker job xml hostRequires snippet that will find a suitable system
for the test. There also should be a sources file that lists the
target_sources and trigger_sources that I think should cause the test
to run.

Testing results of current branch:

system with idxd and iaa devices: J:9187311
system with idxd devices: J:9187289
system with ioatdma devices: J:9187250
system with ptdma devices: J:9187248

Signed-off-by: Jerry Snitselaar jsnitsel@redhat.com

Merge request reports