[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200513124016.GG19158@mellanox.com>
Date: Wed, 13 May 2020 09:40:16 -0300
From: Jason Gunthorpe <jgg@...lanox.com>
To: "Tian, Kevin" <kevin.tian@...el.com>
Cc: "Raj, Ashok" <ashok.raj@...el.com>,
Alex Williamson <alex.williamson@...hat.com>,
"Jiang, Dave" <dave.jiang@...el.com>,
"vkoul@...nel.org" <vkoul@...nel.org>,
"megha.dey@...ux.intel.com" <megha.dey@...ux.intel.com>,
"maz@...nel.org" <maz@...nel.org>,
"bhelgaas@...gle.com" <bhelgaas@...gle.com>,
"rafael@...nel.org" <rafael@...nel.org>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"hpa@...or.com" <hpa@...or.com>,
"Pan, Jacob jun" <jacob.jun.pan@...el.com>,
"Liu, Yi L" <yi.l.liu@...el.com>, "Lu, Baolu" <baolu.lu@...el.com>,
"Kumar, Sanjay K" <sanjay.k.kumar@...el.com>,
"Luck, Tony" <tony.luck@...el.com>,
"Lin, Jing" <jing.lin@...el.com>,
"Williams, Dan J" <dan.j.williams@...el.com>,
"kwankhede@...dia.com" <kwankhede@...dia.com>,
"eric.auger@...hat.com" <eric.auger@...hat.com>,
"parav@...lanox.com" <parav@...lanox.com>,
"dmaengine@...r.kernel.org" <dmaengine@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
Paolo Bonzini <pbonzini@...hat.com>
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
Powered by blists - more mailing lists