lkml.org 
[lkml]   [2018]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 1/3] pci-iov: Add support for unmanaged SR-IOV
On Fri, Mar 2, 2018 at 3:59 PM, Alex Williamson
<alex.williamson@redhat.com> wrote:
> On Fri, 02 Mar 2018 15:44:25 -0800
> Alexander Duyck <alexander.duyck@gmail.com> wrote:
>
>> From: Alexander Duyck <alexander.h.duyck@intel.com>
>>
>> This patch is meant to add some basic functionality to support for SR-IOV
>> on devices when the VFs are not managed by the kernel. The functions
>> provided here can be used by drivers such as vfio-pci and virtio to enable
>> SR-IOV on devices that are either managed by userspace, or by some sort of
>> firmware entity respectively.
>>
>> A new sysfs value called sriov_unmanaged_autoprobe has been added. This
>> value is used as the drivers_autoprobe setting of the VFs when they are
>> being managed by an external entity such as userspace or device firmware
>> instead of being managed by the kernel.
>>
>> One side effect of this change is that the sriov_drivers_autoprobe and
>> sriov_unmanaged_autoprobe will only apply their updates when SR-IOV is
>> disabled. Attempts to update them when SR-IOV is in use will only update
>> the local value and will not update sriov->autoprobe.
>>
>> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
>> ---
>> Documentation/ABI/testing/sysfs-bus-pci | 17 ++++++++++++++
>> drivers/pci/iov.c | 37 +++++++++++++++++++++++++++++++
>> drivers/pci/pci-driver.c | 2 +-
>> drivers/pci/pci-sysfs.c | 29 ++++++++++++++++++++++++
>> drivers/pci/pci.h | 4 +++
>> include/linux/pci.h | 1 +
>> 6 files changed, 88 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/ABI/testing/sysfs-bus-pci b/Documentation/ABI/testing/sysfs-bus-pci
>> index 44d4b2be92fd..ff0b6c19cb1a 100644
>> --- a/Documentation/ABI/testing/sysfs-bus-pci
>> +++ b/Documentation/ABI/testing/sysfs-bus-pci
>> @@ -323,3 +323,20 @@ Description:
>>
>> This is similar to /sys/bus/pci/drivers_autoprobe, but
>> affects only the VFs associated with a specific PF.
>> +
>> +What: /sys/bus/pci/devices/.../sriov_unmanaged_autoprobe
>> +Date: March 2018
>> +Contact: Alexander Duyck <alexander.h.duyck@intel.com>
>> +Description:
>> + This file is associated with the PF of a device that
>> + supports SR-IOV. It determines whether newly-enabled VFs
>> + are immediately bound to a driver when the PF driver does
>> + not manage the VFs itself. It initially contains 0, which
>> + means the kernel will not automatically bind VFs to a driver.
>> + If an application writes 1 to the file before enabling VFs,
>> + the kernel will bind VFs to a compatible driver immediately
>> + after they are enabled.
>> +
>> + This overrides /sys/bus/pci/devices/.../sriov_drivers_autoprobe
>> + when a PF driver is not present to manage a device, or the PF
>> + driver does not provide functionality to support SR-IOV.
>
>
> Given a pf, how does a user determine whether it is managed or unmanaged
> and therefore which autoprobe attributes are in effect? Thanks,
>
> Alex

Basically it comes down to what driver is loaded on it. For now
vfio-pci and virtio would be the only two using the "unmanaged"
version of things.

Really you don't know which autoprobe is in effect until SR-IOV is
enabled by whatever driver. As such you should really be setting both
the drivers_autoprobe and the unmanaged_autoprobe based on the
expected use case.

- Alex

\
 
 \ /
  Last update: 2018-03-03 01:21    [W:0.039 / U:0.404 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site