DPDK patches and discussions
 help / color / mirror / Atom feed
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

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