Messages in this thread | | | Date | Mon, 20 Mar 2023 06:35:12 -0700 | From | Christoph Hellwig <> | Subject | Re: [PATCH v2 08/16] iommu: define and export iommu_access_remote_vm() |
| |
On Tue, Mar 07, 2023 at 09:55:28AM -0800, Fenghua Yu wrote: > > > > I don't quite follow here. Isn't I/O page fault already supported? > > The following patch 9 in this series explains in details why IDXD device > cannot use page fault to write to user memory: https://lore.kernel.org/dmaengine/20230306163138.587484-10-fenghua.yu@intel.com/ > > "DSA supports page fault handling through PRS. However, the DMA engine > that's processing the descriptor is blocked until the PRS response is > received. Other workqueues sharing the engine are also blocked. > Page fault handing by the driver with PRS disabled can be used to > mitigate the stalling. > > With PRS disabled while ATS remain enabled, DSA handles page faults on > a completion record by reporting an event in the event log. In this > instance, the descriptor is completed and the event log contains the > completion record address and the contents of the completion record."
This seems like a completely broken I/O model, and I don't think Linux should support this model when it requires operations like access_remote_vm.
| |