On Sun, Jan 14, 2024 at 09:13:19PM +0800, Baolu Lu wrote:
On 2024/1/13 5:56, Joel Granados wrote:
On Thu, Oct 26, 2023 at 10:49:24AM +0800, Lu Baolu wrote:
Hi folks,
This series implements the functionality of delivering IO page faults to user space through the IOMMUFD framework for nested translation. Nested translation is a hardware feature that supports two-stage translation tables for IOMMU. The second-stage translation table is managed by the host VMM, while the first-stage translation table is owned by user space. This allows user space to control the IOMMU mappings for its devices.
When an IO page fault occurs on the first-stage translation table, the IOMMU hardware can deliver the page fault to user space through the IOMMUFD framework. User space can then handle the page fault and respond to the device top-down through the IOMMUFD. This allows user space to implement its own IO page fault handling policies.
User space indicates its capability of handling IO page faults by setting the IOMMU_HWPT_ALLOC_IOPF_CAPABLE flag when allocating a hardware page table (HWPT). IOMMUFD will then set up its infrastructure for page fault delivery. On a successful return of HWPT allocation, the user can retrieve and respond to page faults by reading and writing to the file descriptor (FD) returned in out_fault_fd.
The iommu selftest framework has been updated to test the IO page fault delivery and response functionality.
This series is based on the latest implementation of nested translation under discussion [1] and the page fault handling framework refactoring in the IOMMU core [2].
The series and related patches are available on GitHub: [3]
[1]https://lore.kernel.org/linux-iommu/20230921075138.124099-1-yi.l.liu@intel.c... [2]https://lore.kernel.org/linux-iommu/20230928042734.16134-1-baolu.lu@linux.in... [3]https://github.com/LuBaolu/intel-iommu/commits/iommufd-io-pgfault-delivery-v...
I was working with this branch that included Yi Liu's wip/iommufd_nesting branch. Now Yi Lui has updated his work in this post https://lore.kernel.org/all/20240102143834.146165-1-yi.l.liu@intel.com. Is there an updated version of the page fault work that is rebased on top of Liu's new version?
Yes. I am preparing the new version and will post it for discussion after the merge window.
Great to hear and thx for getting back to me.
I'll be on the look out for your post. Would it be possible for you to add me to the CC when you send it?
Best