DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] usertools: reduce devbind status output
@ 2017-04-26 11:58 Ferruh Yigit
  2017-04-26 13:09 ` Thomas Monjalon
  2017-04-27 17:55 ` [dpdk-dev] [PATCH v2] usertools: add status-dev argument to devbind Ferruh Yigit
  0 siblings, 2 replies; 4+ messages in thread
From: Ferruh Yigit @ 2017-04-26 11:58 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Ferruh Yigit

Script displays status for all device types and output is much
longer than it used to be. This makes harder to read script output.

This patch reduces output to the script into a device group which can be
defined with new -t,--type parameter to script.

Supported types:
net
crypto
mempool
eventdev

If no device type provided status will print net devices by default.

Sample usage:
./usertools/dpdk-devbind.py -s -t mempool

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 usertools/dpdk-devbind.py | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
index bb4d536..609f0ad 100755
--- a/usertools/dpdk-devbind.py
+++ b/usertools/dpdk-devbind.py
@@ -86,7 +86,8 @@ def usage():
         Display usage information and quit
 
     -s, --status:
-        Print the current status of all known network and crypto devices.
+        Print the current status of all known devices in a device group.
+        Device group selected by --type (-t) argument.
         For each device, it displays the PCI domain, bus, slot and function,
         along with a text description of the device. Depending upon whether the
         device is being used by a kernel driver, the igb_uio driver, or no
@@ -99,6 +100,11 @@ def usage():
         status display will always occur after the other operations have taken
         place.
 
+    -t, --type:
+        Select device group to print status.
+        Device group can be network, crypto, eventdev or mempool.
+        Type argument can be emitted, by default "network" group used.
+
     -b driver, --bind=driver:
         Select the driver to use or \"none\" to unbind the device
 
@@ -598,26 +604,34 @@ def show_status():
     Displays to the user what devices are bound to the igb_uio driver, the
     kernel driver or to no driver'''
 
-    show_device_status(network_devices, "Network")
-    show_device_status(crypto_devices, "Crypto")
-    show_device_status(eventdev_devices, "Eventdev")
-    show_device_status(mempool_devices, "Mempool")
+    if status_type == "crypto":
+        show_device_status(crypto_devices, "Crypto")
+    elif status_type == "event":
+        show_device_status(eventdev_devices, "Eventdev")
+    elif status_type == "mempool":
+        show_device_status(mempool_devices, "Mempool")
+    else:
+        show_device_status(network_devices, "Network")
 
 def parse_args():
     '''Parses the command-line arguments given by the user and takes the
     appropriate action for each'''
     global b_flag
     global status_flag
+    global status_type
     global force_flag
     global args
     if len(sys.argv) <= 1:
         usage()
         sys.exit(0)
 
+    # set default status device type
+    status_type = "net"
+
     try:
-        opts, args = getopt.getopt(sys.argv[1:], "b:us",
+        opts, args = getopt.getopt(sys.argv[1:], "b:ust:",
                                    ["help", "usage", "status", "force",
-                                    "bind=", "unbind"])
+                                    "bind=", "unbind", "type="])
     except getopt.GetoptError as error:
         print(str(error))
         print("Run '%s --usage' for further information" % sys.argv[0])
@@ -627,6 +641,8 @@ def parse_args():
         if opt == "--help" or opt == "--usage":
             usage()
             sys.exit(0)
+        if opt == "--type" or opt == "-t":
+                status_type = arg
         if opt == "--status" or opt == "-s":
             status_flag = True
         if opt == "--force":
-- 
2.9.3

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] usertools: reduce devbind status output
  2017-04-26 11:58 [dpdk-dev] [PATCH] usertools: reduce devbind status output Ferruh Yigit
@ 2017-04-26 13:09 ` Thomas Monjalon
  2017-04-27 17:55 ` [dpdk-dev] [PATCH v2] usertools: add status-dev argument to devbind Ferruh Yigit
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2017-04-26 13:09 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev

26/04/2017 13:58, Ferruh Yigit:
> Script displays status for all device types and output is much
> longer than it used to be. This makes harder to read script output.
> 
> This patch reduces output to the script into a device group which can be
> defined with new -t,--type parameter to script.
> 
> Supported types:
> net
> crypto
> mempool
> eventdev
> 
> If no device type provided status will print net devices by default.
> 
> Sample usage:
> ./usertools/dpdk-devbind.py -s -t mempool
[...]
> +    -t, --type:
> +        Select device group to print status.
> +        Device group can be network, crypto, eventdev or mempool.
> +        Type argument can be emitted, by default "network" group used.

s/emitted/omitted/

I think it would be better to default to all types.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [dpdk-dev] [PATCH v2] usertools: add status-dev argument to devbind
  2017-04-26 11:58 [dpdk-dev] [PATCH] usertools: reduce devbind status output Ferruh Yigit
  2017-04-26 13:09 ` Thomas Monjalon
@ 2017-04-27 17:55 ` Ferruh Yigit
  2017-04-30 12:45   ` Thomas Monjalon
  1 sibling, 1 reply; 4+ messages in thread
From: Ferruh Yigit @ 2017-04-27 17:55 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Ferruh Yigit

Script displays status for all device types and output is much
longer than it used to be. This makes harder to read script output.

This patch adds new --status-dev argument to the script to select
a device group to display status.

Supported device groups:
net
crypto
event
mempool

Sample usage:
./usertools/dpdk-devbind.py --status-dev mempool

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
v2:
* new --status-dev long option added instead of --type that will work
together with existing status flag. Existing --status option behavior
kept untouched.
---
 usertools/dpdk-devbind.py | 34 +++++++++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
index bb4d536..1e8ed1f 100755
--- a/usertools/dpdk-devbind.py
+++ b/usertools/dpdk-devbind.py
@@ -86,7 +86,8 @@ def usage():
         Display usage information and quit
 
     -s, --status:
-        Print the current status of all known network and crypto devices.
+        Print the current status of all known network, crypto, event
+        and mempool devices.
         For each device, it displays the PCI domain, bus, slot and function,
         along with a text description of the device. Depending upon whether the
         device is being used by a kernel driver, the igb_uio driver, or no
@@ -99,6 +100,10 @@ def usage():
         status display will always occur after the other operations have taken
         place.
 
+    --status-dev:
+        Print the status of given device group. Supported device groups are:
+        "net", "crypto", "event" and "mempool"
+
     -b driver, --bind=driver:
         Select the driver to use or \"none\" to unbind the device
 
@@ -119,6 +124,9 @@ def usage():
 To display current device status:
         %(argv0)s --status
 
+To display current network device status:
+        %(argv0)s --status-dev net
+
 To bind eth1 from the current driver and move to use igb_uio
         %(argv0)s --bind=igb_uio eth1
 
@@ -598,16 +606,24 @@ def show_status():
     Displays to the user what devices are bound to the igb_uio driver, the
     kernel driver or to no driver'''
 
-    show_device_status(network_devices, "Network")
-    show_device_status(crypto_devices, "Crypto")
-    show_device_status(eventdev_devices, "Eventdev")
-    show_device_status(mempool_devices, "Mempool")
+    if status_dev == "net" or status_dev == "all":
+        show_device_status(network_devices, "Network")
+
+    if status_dev == "crypto" or status_dev == "all":
+        show_device_status(crypto_devices, "Crypto")
+
+    if status_dev == "event" or status_dev == "all":
+        show_device_status(eventdev_devices, "Eventdev")
+
+    if status_dev == "mempool" or status_dev == "all":
+        show_device_status(mempool_devices, "Mempool")
 
 def parse_args():
     '''Parses the command-line arguments given by the user and takes the
     appropriate action for each'''
     global b_flag
     global status_flag
+    global status_dev
     global force_flag
     global args
     if len(sys.argv) <= 1:
@@ -616,8 +632,8 @@ def parse_args():
 
     try:
         opts, args = getopt.getopt(sys.argv[1:], "b:us",
-                                   ["help", "usage", "status", "force",
-                                    "bind=", "unbind"])
+                                   ["help", "usage", "status", "status-dev=",
+                                    "force", "bind=", "unbind", ])
     except getopt.GetoptError as error:
         print(str(error))
         print("Run '%s --usage' for further information" % sys.argv[0])
@@ -627,8 +643,12 @@ def parse_args():
         if opt == "--help" or opt == "--usage":
             usage()
             sys.exit(0)
+        if opt == "--status-dev":
+            status_flag = True
+            status_dev = arg
         if opt == "--status" or opt == "-s":
             status_flag = True
+            status_dev = "all"
         if opt == "--force":
             force_flag = True
         if opt == "-b" or opt == "-u" or opt == "--bind" or opt == "--unbind":
-- 
2.9.3

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH v2] usertools: add status-dev argument to devbind
  2017-04-27 17:55 ` [dpdk-dev] [PATCH v2] usertools: add status-dev argument to devbind Ferruh Yigit
@ 2017-04-30 12:45   ` Thomas Monjalon
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2017-04-30 12:45 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev

27/04/2017 19:55, Ferruh Yigit:
> Script displays status for all device types and output is much
> longer than it used to be. This makes harder to read script output.
> 
> This patch adds new --status-dev argument to the script to select
> a device group to display status.
> 
> Supported device groups:
> net
> crypto
> event
> mempool
> 
> Sample usage:
> ./usertools/dpdk-devbind.py --status-dev mempool
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied, thanks

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-04-30 12:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-26 11:58 [dpdk-dev] [PATCH] usertools: reduce devbind status output Ferruh Yigit
2017-04-26 13:09 ` Thomas Monjalon
2017-04-27 17:55 ` [dpdk-dev] [PATCH v2] usertools: add status-dev argument to devbind Ferruh Yigit
2017-04-30 12:45   ` Thomas Monjalon

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