From: Anatoly Burakov <anatoly.burakov@intel.com>
To: dev@dpdk.org, Robin Jarry <rjarry@redhat.com>
Cc: bruce.richardson@intel.com
Subject: [PATCH v2 4/4] usertools/dpdk-devbind: print NUMA node
Date: Fri, 16 Aug 2024 13:16:58 +0100 [thread overview]
Message-ID: <c2bf00195c2d43833a831a9cc9346b4606d6ea2e.1723810613.git.anatoly.burakov@intel.com> (raw)
In-Reply-To: <4844fc3a4604ffef789702752ff04699ab5118db.1723810613.git.anatoly.burakov@intel.com>
Currently, devbind does not print out any NUMA information, which makes
figuring out which NUMA node device belongs to not trivial. Add printouts
for NUMA information if NUMA support is enabled on the system.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
usertools/dpdk-devbind.py | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
index b276e8efc8..c0611a501d 100755
--- a/usertools/dpdk-devbind.py
+++ b/usertools/dpdk-devbind.py
@@ -110,6 +110,11 @@
args = []
+# check if this system has NUMA support
+def is_numa():
+ return os.path.exists('/sys/devices/system/node')
+
+
# check if a specific kernel module is loaded
def module_is_loaded(module):
global loaded_modules
@@ -579,18 +584,24 @@ def show_device_status(devices_type, device_name, if_field=False):
# print each category separately, so we can clearly see what's used by DPDK
if dpdk_drv:
+ extra_param = "drv=%(Driver_str)s unused=%(Module_str)s"
+ if is_numa():
+ extra_param = "numa_node=%(NUMANode)s " + extra_param
display_devices("%s devices using DPDK-compatible driver" % device_name,
- dpdk_drv, "drv=%(Driver_str)s unused=%(Module_str)s")
+ dpdk_drv, extra_param)
if kernel_drv:
- if_text = ""
+ extra_param = "drv=%(Driver_str)s unused=%(Module_str)s"
if if_field:
- if_text = "if=%(Interface)s "
- display_devices("%s devices using kernel driver" % device_name, kernel_drv,
- if_text + "drv=%(Driver_str)s "
- "unused=%(Module_str)s %(Active)s")
+ extra_param = "if=%(Interface)s " + extra_param
+ if is_numa():
+ extra_param = "numa_node=%(NUMANode)s " + extra_param
+ display_devices("%s devices using kernel driver" % device_name,
+ kernel_drv, extra_param)
if no_drv:
- display_devices("Other %s devices" % device_name, no_drv,
- "unused=%(Module_str)s")
+ extra_param = "unused=%(Module_str)s"
+ if is_numa():
+ extra_param = "numa_node=%(NUMANode)s " + extra_param
+ display_devices("Other %s devices" % device_name, no_drv, extra_param)
def show_status():
--
2.43.5
next prev parent reply other threads:[~2024-08-16 12:17 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-14 11:19 [PATCH v1 1/2] usertools/cpu_layout: update coding style Anatoly Burakov
2024-08-14 11:19 ` [PATCH v1 2/2] usertools/cpu_layout: print out NUMA nodes Anatoly Burakov
2024-08-16 12:16 ` [PATCH v2 1/4] usertools/cpu_layout: update coding style Anatoly Burakov
2024-08-16 12:16 ` [PATCH v2 2/4] usertools/cpu_layout: print out NUMA nodes Anatoly Burakov
2024-08-19 11:23 ` Robin Jarry
2024-08-16 12:16 ` [PATCH v2 3/4] usertools/dpdk-hugepages.py: sort by NUMA node Anatoly Burakov
2024-08-16 12:21 ` Burakov, Anatoly
2024-08-19 11:32 ` Robin Jarry
2024-08-20 9:04 ` Burakov, Anatoly
2024-08-20 9:06 ` Robin Jarry
2024-08-16 12:16 ` Anatoly Burakov [this message]
2024-08-19 11:34 ` [PATCH v2 4/4] usertools/dpdk-devbind: print " Robin Jarry
2024-08-20 9:08 ` Burakov, Anatoly
2024-08-20 9:28 ` Robin Jarry
2024-08-20 9:40 ` Burakov, Anatoly
2024-08-20 9:49 ` Robin Jarry
2024-08-20 9:56 ` Burakov, Anatoly
2024-08-20 10:00 ` Robin Jarry
2024-08-19 11:11 ` [PATCH v2 1/4] usertools/cpu_layout: update coding style Robin Jarry
2024-08-20 9:12 ` Burakov, Anatoly
2024-08-20 9:20 ` Robin Jarry
2024-08-20 9:31 ` Burakov, Anatoly
2024-08-20 9:45 ` Robin Jarry
2024-08-20 9:56 ` Burakov, Anatoly
2024-08-19 9:26 ` [PATCH v1 1/2] " Robin Jarry
2024-08-19 9:36 ` Burakov, Anatoly
2024-08-19 15:13 ` Stephen Hemminger
2024-08-20 15:35 ` [PATCH v3 1/4] " Anatoly Burakov
2024-08-20 15:35 ` [PATCH v3 2/4] usertools/cpu_layout: print out NUMA nodes Anatoly Burakov
2024-08-20 19:22 ` Robin Jarry
2024-08-21 8:49 ` Burakov, Anatoly
2024-08-20 15:35 ` [PATCH v3 3/4] usertools/dpdk-hugepages.py: update coding style Anatoly Burakov
2024-08-20 15:52 ` Stephen Hemminger
2024-08-21 8:53 ` Burakov, Anatoly
2024-08-20 15:57 ` Robin Jarry
2024-08-21 8:52 ` Burakov, Anatoly
2024-08-21 9:06 ` Burakov, Anatoly
2024-08-21 9:16 ` Burakov, Anatoly
2024-08-21 9:22 ` Robin Jarry
2024-08-20 15:35 ` [PATCH v3 4/4] usertools/dpdk-devbind: print NUMA node Anatoly Burakov
2024-08-20 15:59 ` [PATCH v3 1/4] usertools/cpu_layout: update coding style Robin Jarry
2024-08-21 8:49 ` Burakov, Anatoly
2024-08-21 9:22 ` [PATCH v4 " Anatoly Burakov
2024-08-21 9:22 ` [PATCH v4 2/4] usertools/cpu_layout: print out NUMA nodes Anatoly Burakov
2024-08-21 9:22 ` [PATCH v4 3/4] usertools/dpdk-hugepages.py: update coding style Anatoly Burakov
2024-08-21 9:26 ` Robin Jarry
2024-08-21 9:39 ` Burakov, Anatoly
2024-08-21 9:22 ` [PATCH v4 4/4] usertools/dpdk-devbind: print NUMA node Anatoly Burakov
2024-08-21 9:44 ` [PATCH v5 1/4] usertools/cpu_layout: update coding style Anatoly Burakov
2024-08-21 9:44 ` [PATCH v5 2/4] usertools/cpu_layout: print out NUMA nodes Anatoly Burakov
2024-08-21 11:43 ` Robin Jarry
2024-08-21 9:44 ` [PATCH v5 3/4] usertools/dpdk-hugepages.py: update coding style Anatoly Burakov
2024-08-21 11:43 ` Robin Jarry
2024-08-21 9:44 ` [PATCH v5 4/4] usertools/dpdk-devbind: print NUMA node Anatoly Burakov
2024-08-21 11:44 ` Robin Jarry
2024-08-21 10:16 ` [PATCH v5 1/4] usertools/cpu_layout: update coding style Robin Jarry
2024-08-22 10:38 ` [PATCH v6 " Anatoly Burakov
2024-08-22 10:38 ` [PATCH v6 2/4] usertools/cpu_layout: print out NUMA nodes Anatoly Burakov
2024-08-22 17:43 ` Robin Jarry
2024-10-12 17:56 ` Stephen Hemminger
2024-08-22 10:38 ` [PATCH v6 3/4] usertools/dpdk-hugepages.py: update coding style Anatoly Burakov
2024-08-22 10:38 ` [PATCH v6 4/4] usertools/dpdk-devbind: print NUMA node Anatoly Burakov
2024-10-12 17:57 ` Stephen Hemminger
2024-10-12 17:57 ` [PATCH v6 1/4] usertools/cpu_layout: update coding style Stephen Hemminger
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=c2bf00195c2d43833a831a9cc9346b4606d6ea2e.1723810613.git.anatoly.burakov@intel.com \
--to=anatoly.burakov@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=rjarry@redhat.com \
/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).