Comment 4 for bug 1688158

Revision history for this message
Manoj Iyer (manjo) wrote : [Bug #1688158] Please help test kernel for iommu.passthrough=0/1

Jeff,

I have back-ported patches to address "Support SMMU passthrough using
the default domain". This adds a new kernel command line option
iommu.passthrough=0/1 to Configure DMA to bypass the IOMMU for ARM64.
http://bugs.launchpad.net/bugs/1688158

0 - Use IOMMU translation for DMA.
1 - Bypass the IOMMU for DMA.

The test case recommended by Nate using 'fio' is:

$ sudo apt update ; sudo apt install fio

$ sudo fio --name=global --readonly --group_reporting --direct=1
--ioengine=libaio --rw=read --eta-newline=1s --size=1T
--blocksize=512k --iodepth=32 --numjobs=1 --runtime=10s --name=nvme_0
--filename=/dev/nvme0n1

You can find the kernel and the instructions to install the kernel in
the Centriq test PPA:
https://launchpad.net/~centriq-team/+archive/ubuntu/test/

Nate and I have gone back and forth on testing these patches and
finally came down to having this test run on an NVME device.
Unfortunately I cant seem to find any nvme HW at this time, we would
need to order these drive and could take time.

Could you please test the kernel using the test case mentioned above
and reply back to this email with test case out put for both cases.
iommu.passthrough=0 and iommu.passthrough=1. We should see better
performance (iops may be) with IOMMU bypassed for DMA (ie
iommu.passthrough=1).

The bug is cced on this email, so if you replay with a summary output
in both cases it will be automatically recorded in the bug. Once I get
your test results I will be able to make a case for SRUing these
patches.

Thanks a ton
Manoj Iyer