RE: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive
From: "Tian, Kevin" <kevin.tian@intel.com>
Date: 2018-08-02 04:37:00
Also in:
kvm, linux-doc, linux-iommu, lkml
From: Kenneth Lee Sent: Thursday, August 2, 2018 11:40 AM On Thu, Aug 02, 2018 at 02:59:33AM +0000, Tian, Kevin wrote:quoted
quoted
From: Kenneth Lee Sent: Wednesday, August 1, 2018 6:22 PM From: Kenneth Lee <redacted> WarpDrive is an accelerator framework to expose the hardwarecapabilitiesquoted
quoted
directly to the user space. It makes use of the exist vfio and vfio-mdev facilities. So the user application can send request and DMA to the hardware without interaction with the kernel. This remove the latency of syscall and context switch. The patchset contains documents for the detail. Please refer to it formorequoted
quoted
information. This patchset is intended to be used with Jean Philippe Brucker's SVA patch [1] (Which is also in RFC stage). But it is not mandatory. This patchset is tested in the latest mainline kernel without the SVA patches. So it support only one process for each accelerator.If no sharing, then why not just assigning the whole parent device to the process? IMO if SVA usage is the clear goal of your series, it might be made clearly so then Jean's series is mandatory dependency...We don't know how SVA will be finally. But the feature, "make use of per-PASID/substream ID IOMMU page table", should be able to be enabled in the kernel. So we don't want to enforce it here. After we have this serial ready, it can be hooked to any implementation.
"any" or "only queue-based" implementation? some devices may not have queue concept, e.g. GPU.
Further more, even without "per-PASID IOMMU page table", this series has its value. It is not simply dedicate the whole device to the process. It "shares" the device with the kernel driver. So you can support crypto and a user application at the same time.
OK. Thanks Kevin