[v2] devbind: don't display non-existent device categories
Checks
Commit Message
If there aren't any devices of a particular category on user's
system, we still display them, which is bad for usability. Fix
devbind to not print out a category unless there are devices in
it.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: David Hunt <david.hunt@intel.com>
---
Notes:
v2: fix indentation
usertools/dpdk-devbind.py | 27 ++++++++++++++++++++-------
1 file changed, 20 insertions(+), 7 deletions(-)
Comments
19/11/2018 11:33, Anatoly Burakov:
> If there aren't any devices of a particular category on user's
> system, we still display them, which is bad for usability. Fix
> devbind to not print out a category unless there are devices in
> it.
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> Reviewed-by: David Hunt <david.hunt@intel.com>
Applied, thanks
I think we can strip output more and remove "no detected" messages.
On 22-Nov-18 5:12 PM, Thomas Monjalon wrote:
> 19/11/2018 11:33, Anatoly Burakov:
>> If there aren't any devices of a particular category on user's
>> system, we still display them, which is bad for usability. Fix
>> devbind to not print out a category unless there are devices in
>> it.
>>
>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
>> Reviewed-by: David Hunt <david.hunt@intel.com>
>
> Applied, thanks
>
> I think we can strip output more and remove "no detected" messages.
>
I had an idea to do that, but for now i decided to keep it for the
purposes of providing just enough useful information to the user with
little expense.
@@ -546,14 +546,27 @@ def show_device_status(devices_type, device_name):
else:
kernel_drv.append(devices[d])
+ n_devs = len(dpdk_drv) + len(kernel_drv) + len(no_drv)
+
+ # don't bother displaying anything if there are no devices
+ if n_devs == 0:
+ msg = "No '%s' devices detected" % device_name
+ print("")
+ print(msg)
+ print("".join('=' * len(msg)))
+ return
+
# print each category separately, so we can clearly see what's used by DPDK
- display_devices("%s devices using DPDK-compatible driver" % device_name,
- dpdk_drv, "drv=%(Driver_str)s unused=%(Module_str)s")
- display_devices("%s devices using kernel driver" % device_name, kernel_drv,
- "if=%(Interface)s drv=%(Driver_str)s "
- "unused=%(Module_str)s %(Active)s")
- display_devices("Other %s devices" % device_name, no_drv,
- "unused=%(Module_str)s")
+ if len(dpdk_drv) != 0:
+ display_devices("%s devices using DPDK-compatible driver" % device_name,
+ dpdk_drv, "drv=%(Driver_str)s unused=%(Module_str)s")
+ if len(kernel_drv) != 0:
+ display_devices("%s devices using kernel driver" % device_name, kernel_drv,
+ "if=%(Interface)s drv=%(Driver_str)s "
+ "unused=%(Module_str)s %(Active)s")
+ if len(no_drv) != 0:
+ display_devices("Other %s devices" % device_name, no_drv,
+ "unused=%(Module_str)s")
def show_status():
'''Function called when the script is passed the "--status" option.