DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Ouyang Changchun <changchun.ouyang@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] tools/dpdk_nic_bind: Fix can't bind virtio-pci issue
Date: Tue, 3 Mar 2015 11:43:35 +0000	[thread overview]
Message-ID: <20150303114334.GA4076@bricha3-MOBL3> (raw)
In-Reply-To: <1424926669-14202-1-git-send-email-changchun.ouyang@intel.com>

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

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

/Bruce

  parent reply	other threads:[~2015-03-03 11:43 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 [this message]
2015-03-04  2:41   ` Ouyang, Changchun
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=20150303114334.GA4076@bricha3-MOBL3 \
    --to=bruce.richardson@intel.com \
    --cc=changchun.ouyang@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).