Messages in this thread | | | Date | Wed, 13 May 2020 09:40:16 -0300 | From | Jason Gunthorpe <> | Subject | Re: [PATCH RFC 00/15] Add VFIO mediated device support and IMS support for the idxd driver. |
| |
On Wed, May 13, 2020 at 08:30:15AM +0000, Tian, Kevin wrote:
> When talking about virtualization, here the target is unmodified guest > kernel driver which expects seeing the raw controllability of queues > as defined by device spec. In idxd, such controllability includes enable/ > disable SVA, dedicated or shared WQ, size, threshold, privilege, fault > mode, max batch size, and many other attributes. Different guest OS > has its own policy of using all or partial available controllability. > > When talking about application, we care about providing an efficient > programming interface to userspace. For example with uacce, we > allow an application to submit vaddr-based workloads to a reserved > WQ with kernel bypassed. But it's not necessary to export the raw > controllability of the reserved WQ to userspace, and we still rely on > kernel driver to configure it including bind_mm. I'm not sure whether > uacce would like to evolve as a generic queue management system > including non-SVA and all vendor specific raw capabilities as > expected by all kinds of guest kernel drivers. It sounds like not > worthwhile at this point, given that we already have an highly efficient > SVA interface for user applications.
Like I already said, you should get the people who care about this stuff to support emulation in the kernel. I think it has not been explained well in past.
Most Intel info on SIOV draws a close parallel to SRIOV and I think people generally assume, that like SRIOV, SIOV does not include kernel side MMIO emulations.
> If in the future, there do have such requirement of delegating raw > WQ controllability to pure userspace applications for DMA engines, > and there is be a well-defined uAPI to cover a large common set of > controllability across multiple vendors, we will look at that option for > sure.
All this Kernel bypass stuff is 'HW specific' by nature, you should not expect to have general interfaces.
Jason
| |