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

Sarosh Arif sarosh.arif at emumba.com
Mon Sep 21 13:10:12 CEST 2020


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".
>
> 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


More information about the dev mailing list