From: "Ouyang, Changchun" <changchun.ouyang@intel.com>
To: "Richardson, Bruce" <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] tools/dpdk_nic_bind: Fix can't bind virtio-pci issue
Date: Wed, 4 Mar 2015 02:41:50 +0000 [thread overview]
Message-ID: <F52918179C57134FAEC9EA62FA2F962511A04916@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <20150303114334.GA4076@bricha3-MOBL3>
Hi,
> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, March 3, 2015 7:44 PM
> To: Ouyang, Changchun
> Cc: dev@dpdk.org; Cao, Waterman
> Subject: Re: [PATCH] tools/dpdk_nic_bind: Fix can't bind virtio-pci issue
>
> On Thu, Feb 26, 2015 at 12:57:49PM +0800, Ouyang Changchun wrote:
> First off, I think the title needs to be changed. How about something like:
> "dpdk_nic_bind: don't exit if an unused module is missing"
>
> > In virtio test, on guest
> > 1. Bind virtio port to igb_uio driver; 2. Remove igb_uio module; 3.
> > Bind virtio port to virtio-pci driver, it fails and reports:
> > "Error - no supported modules are loaded"
> >
> > The tool should check the to-be-bound driver flag, if it is dpdk
> > driver(igb_uio, vfio etc), and the corresponding module is not loaded,
> > then exit, otherwise, just report a warning, and continue to bind the non-
> dpdk driver(like virtio-pci) to dev.
>
> This is a good description of the problem. Once you change the title, I think
> an initial sentence is needed here by way of intro - such as:
> "The dpdk_nic_bind script will not allow ports to be bound or unbound if
> none of the kernel modules supported by DPDK is loaded. This patch relaxes
> this restriction by checking if a DPDK module is actually requested. The
> example below illustrates this problem:"
>
Will update this description in v2.
Thanks
> >
> > Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
> > ---
> > tools/dpdk_nic_bind.py | 7 +++++--
> > 1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py index
> > 2483056..8523f82 100755
> > --- a/tools/dpdk_nic_bind.py
> > +++ b/tools/dpdk_nic_bind.py
> > @@ -175,8 +175,11 @@ def check_modules():
> >
> > # check if we have at least one loaded module
> > if True not in [mod["Found"] for mod in mods] and b_flag is not None:
> > - print "Error - no supported modules are loaded"
> > - sys.exit(1)
> > + if b_flag in dpdk_drivers:
> > + print "Error - no supported modules(DPDK driver) are loaded"
> > + sys.exit(1)
> > + else:
> > + print "Warning - no supported modules(DPDK driver) are loaded"
> >
> > # change DPDK driver list to only contain drivers that are loaded
> > dpdk_drivers = [mod["Name"] for mod in mods if mod["Found"]]
> > --
> > 1.8.4.2
> >
> This is a worthwhile change. However, I think it could be made better:
> * If we try to bind a device to ixgbe, and ixgbe is not loaded, we get no error
> from the script
> * If igb_uio is loaded and we try to bind a device to vfio which is not loaded
> again we get no error from the script.
>
> If would be nice if instead of this checking explicitly for DPDK modules, we
> just check if the module to be bound is present and give an error if not.
>
For all these cases, they could be detected in function bind_one,
If any module exactly required can't be found/opened, it will go to except branch and raise a error message like:
Error: bind failed ..... Cannot open.....
Thanks
Changchun
next prev parent reply other threads:[~2015-03-04 2:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-26 4:57 Ouyang Changchun
2015-02-26 5:52 ` Xu, Qian Q
2015-03-03 11:43 ` Bruce Richardson
2015-03-04 2:41 ` Ouyang, Changchun [this message]
2015-03-04 2:55 ` [dpdk-dev] [PATCH v2] " Ouyang Changchun
2015-03-04 11:31 ` Qiu, Michael
2015-03-05 20:31 ` Thomas Monjalon
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=F52918179C57134FAEC9EA62FA2F962511A04916@shsmsx102.ccr.corp.intel.com \
--to=changchun.ouyang@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).