IOMMU Page Faulting an Linux MM Integration

This proposal has been accepted as a session.


One Line Summary

Discussion about how to integrate upcoming and existing demand paging IOMMUs into the IOMMU-API


Page Faulting for IOMMUs is a very new feature, currently only implemented for the AMD IOMMU in the Linux Kernel. But other hardware vendors like Intel or the ARM world are coming up with their own hardware soon, making it necessary to generalize the existing code and integrate it well into the IOMMU-API.

This discussion is about potential ways to re-use the existing code and how to integrate it into the current API to suit the needs of upcoming hardware.



Presentation Materials



  • Joro


    Joerg started to work as a Linux Kernel engineer at AMD in 2006. At this time KVM was equally new to the kernel as he was, so he thought working on it would be a good fit. He contributed support for Nested Paging and worked a lot on the Nested SVM implementation on KVM, including the emulation of Nested Paging in the guest. Later he extended his areas of interest and became an active IOMMU developer, with the driver for the AMD IOMMU being his first contribution. Over time he contributed to the generic IOMMU code in the Linux Kernel and became the maintainer of it in 2011.

    In the end of 2012 Joerg left AMD and joined Amazon to work on the Web Services. But after 16 month he decided that it is much more fun to contribute his work back to the community, so he left Amazon and joined SUSE.

    There he is working on IOMMU code again to make Linux ready for the next generation of compute offload hardware.