DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Robin Jarry" <rjarry@redhat.com>
To: "Anatoly Burakov" <anatoly.burakov@intel.com>, <dev@dpdk.org>
Cc: <bruce.richardson@intel.com>
Subject: Re: [PATCH v2 4/4] usertools/dpdk-devbind: print NUMA node
Date: Mon, 19 Aug 2024 13:34:47 +0200	[thread overview]
Message-ID: <D3JUUHQ22NO9.2R36YDZQUPGWS@redhat.com> (raw)
In-Reply-To: <c2bf00195c2d43833a831a9cc9346b4606d6ea2e.1723810613.git.anatoly.burakov@intel.com>

Anatoly Burakov, Aug 16, 2024 at 14:16:
> 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>
> ---

Acked-by: Robin Jarry <rjarry@redhat.com>

NB: Although it is better than dpdk-hugepages.py, this script could also 
benefit from a major cleanup as you did for cpu_layout.py.

>  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


  reply	other threads:[~2024-08-19 11:34 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   ` [PATCH v2 4/4] usertools/dpdk-devbind: print " Anatoly Burakov
2024-08-19 11:34     ` Robin Jarry [this message]
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=D3JUUHQ22NO9.2R36YDZQUPGWS@redhat.com \
    --to=rjarry@redhat.com \
    --cc=anatoly.burakov@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).