From: Stephen Hemminger <stephen@networkplumber.org>
To: "lihuisong (C)" <lihuisong@huawei.com>
Cc: <dev@dpdk.org>, <andrew.rybchenko@oktetlabs.ru>,
<thomas@monjalon.net>, <ferruh.yigit@xilinx.com>,
<huangdaode@huawei.com>, <liudongdong3@huawei.com>
Subject: Re: [PATCH] usertools: fix bind failure from dpdk to kernel
Date: Tue, 9 Aug 2022 10:58:52 -0700 [thread overview]
Message-ID: <20220809105852.42051ed4@hermes.local> (raw)
In-Reply-To: <c531983d-0281-ab18-4cd6-d9a8d228f671@huawei.com>
On Tue, 9 Aug 2022 19:44:41 +0800
"lihuisong (C)" <lihuisong@huawei.com> wrote:
> 在 2022/8/5 23:35, Stephen Hemminger 写道:
> > On Fri, 5 Aug 2022 11:10:22 +0800
> > Huisong Li <lihuisong@huawei.com> wrote:
> >
> >> Currently, the steps for binding device from dpdk driver to kernel
> >> driver is as follows:
> >> echo $BDF > /sys/bus/pci/drivers/vfio-pci/unbind
> >> echo $BDF > /sys/bus/pci/drivers/$kernel_driver/bind
> >>
> >> This steps cannot bind device from dpdk driver to kernel driver on
> >> platform with kernel 5.19. The 'driver_override' must be specify
> >> kernel driver before binding device to kernel driver.
> >>
> >> Fixes: 720b7a058260 ("usertools: fix device binding with kernel tools")
> >> Cc: stable@dpdk.org
> >>
> >> Signed-off-by: Huisong Li <lihuisong@huawei.com>
> > Not sure exactly what you did and why.
> > The patch seems to just remove the check that the driver
> > is in the set of dpdk_drivers.
> > .
> Currently, the end of the operation binding device from kernel driver to
> dpdk driver write '\00' to driver_override file so as to this device can
> be bound to any other driver. And perform following steps to
> bind device dpdk driver to kernel driver:
> echo $BDF > /sys/bus/pci/drivers/vfio-pci/unbind
> echo $BDF > /sys/bus/pci/drivers/$kernel_driver/bind
>
> However, due to the patch[1] merged into 5.19 kernel, 'driver_override'
> in the pci_dev is no longer NULL by writing '\00' to driver_override file.
> This causes PCI match device failure and the device will never be bound to
> their kernel driver.
Linux kernel does not look favorably on API changes and that looks like
the kernel changed behavior. That should be reported and fixed there.
> In 5.19 kernel, I found that dpdk-devbind.py need to write '\n' to
> driver_override file if we want to bind divce to any other driver.
> But I think it is not necessary to write empty to driver_override
> file. After all, the device has only one kernel driver, and binding
> to dpdk driver(like, vfio-pci) must specify driver_override.
>
> [1] 23d99baf9d72 ("PCI: Use driver_set_override() instead of open-coding")
The method of using driver override is based off of what the
upstream driverctl package https://gitlab.com/driverctl/driverctl does.
In fact, I would recommend the driverctl package to users over using
our python script.
next prev parent reply other threads:[~2022-08-09 17:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-05 3:10 [PATCH] usertools: fix bind failure from dpdk to kernel Huisong Li
2022-08-05 15:35 ` Stephen Hemminger
2022-08-09 11:44 ` lihuisong (C)
2022-08-09 17:58 ` Stephen Hemminger [this message]
2022-08-10 6:02 ` Krzysztof Kozlowski
2022-08-10 13:50 ` Stephen Hemminger
2022-08-10 5:59 ` Krzysztof Kozlowski
2022-08-10 13:49 ` Stephen Hemminger
2022-08-11 2:10 ` lihuisong (C)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220809105852.42051ed4@hermes.local \
--to=stephen@networkplumber.org \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@xilinx.com \
--cc=huangdaode@huawei.com \
--cc=lihuisong@huawei.com \
--cc=liudongdong3@huawei.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.