Re:io_uring, libaio performance across Linux kernels and an ...
by jcalvinowens on Tuesday March 24, 2026 @12:48PM
(#47505564)
Thanks for sharing this.
Was the iommu using strict or lazy invalidation? I think lazy is the default but I'm not sure how long that's been true.
Re:io_uring, libaio performance across Linux kernels and an ...
by eivanov89 on Tuesday March 24, 2026 @01:00PM
(#47505772)
We compared IOMMU fully disabled vs enabled. When it is enabled, I expect it to be lazy (should be the default for IOMMU). Note, that we recommend to use passthrough to completely bypass translation for most devices independent on strict/lazy mode.
A short summary below.
We ran fio benchmarks comparing libaio and io_uring across kernels (5.4 -> 7.0-rc3). The most surprising part wasn’t io_uring gains (~2x), but a ~30% regression caused by IOMMU being enabled by default between releases.
Happy to share more details about setup or reproduce results.