[dpdk-dev] unable to bind to vfio-pci

Burakov, Anatoly anatoly.burakov at intel.com
Mon Sep 21 13:36:35 CEST 2020


On 21-Sep-20 12:10 PM, Sarosh Arif wrote:
> On Thu, Sep 17, 2020 at 4:50 PM Burakov, Anatoly
> <anatoly.burakov at intel.com> wrote:
>>
>> On 17-Sep-20 11:22 AM, Bruce Richardson wrote:
>>> On Thu, Sep 17, 2020 at 02:21:27PM +0500, Sarosh Arif wrote:
>>>> On Thu, Sep 17, 2020 at 2:17 PM Bruce Richardson
>>>> <bruce.richardson at intel.com> wrote:
>>>>>
>>>>> On Thu, Sep 17, 2020 at 11:52:58AM +0500, Sarosh Arif wrote:
>>>>>> I have been trying to bind to vfio-pci using usertools/dpdk-devbind.py
>>>>>> but am unable to do so. The reason behind this is that I am unable to
>>>>>> write in /sys/bus/pci/drivers/vfio-pci/bind. Upon searching solutions
>>>>>> I tried a couple of things such as setting iommu=pt and intel_iommu=on
>>>>>> and ensured vt-d is enabled.
>>>>>> Along with this I have made sure that the vfio-pci module is correctly
>>>>>> loaded. I have also tried
>>>>>>
>>>>>> chmod 666 /sys/bus/pci/drivers/vfio-pci/bind
>>>>>>
>>>>>> So that I have permissions to write in this file.
>>>>>>
>>>>>> The error I get when I use usertools/dpdk-devbind.py to bind is this:
>>>>>> Error: bind failed for 0000:b7:00.1 - Cannot bind to driver vfio-pci
>>>>>>
>>>>>> The details of 0000:b7:00.1 are as follows:
>>>>>> Ethernet Connection X722 for 10GBASE-T 37d2' if=eno6 drv=i40e
>>>>>>
>>>>>> I have also unbinded The pci bridge to which 0000:b7:00.1 was connected.
>>>>>>
>>>>>> What more can be done to resolve this?
>>>>>>
>>>>> Since you describe changing permissions on the "bind" file, are you trying
>>>>> to run dpdk-devbind.py as a non-root user? Does it work as root?
>>>> I am running it as a root user. It does not work as a root user.
>>>
>>> One possible problem that it could be, is that you will need to ensure that
>>> any other ports on the same device are either similarly bound to vfio-pci
>>> or not bound to any driver. You can't have e.g. a 2-port X722 NIC where one
>>> port is bound to the kernel driver, while another is bound to vfio in
>>> userspace.
>>>
> I unbinded all other ports from the kernel driver yet I could not bind
> to vfio. The problem seems to be the inability to write in
> /sys/bus/pci/drivers/vfio-pci/bind and
> /sys/bus/pci/drivers/vfio-pci/new_id. When I manually try to echo in
> these files I get "Permission denied".

Does dmesg | tail indicate anything?

>>
>> I don't think this would result in a bind error; rather, you'd see the
>> IOMMU group as non-viable when attempting to use it with VFIO, but the
>> binding itself should succeed.
>>
>> --
>> Thanks,
>> Anatoly


-- 
Thanks,
Anatoly


More information about the dev mailing list