4 ms·
Dear folks, I'm the author of that post. A short summary below. We ran fio benchmarks comparing libaio and io_uring across kernels (5.4 -> 7.0-rc3). The most
by eivanov89 7mo ago
Dear folks, I'm the author of that post.
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.
- jcalvinowens 7mo agoThanks 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.
- eivanov89 7mo agoWe 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.