All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Andriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
Cc: dev@dpdk.org, Gowrishankar <gowrishankar.m@linux.vnet.ibm.com>
Subject: Re: [PATCH] usertools: fix cpu_layout script for multithreads of more than 2
Date: Fri, 28 Apr 2017 13:58:16 +0200	[thread overview]
Message-ID: <1874376.tUCind7prS@xps> (raw)
In-Reply-To: <a052e6f8f637230cc2c0f5e5657735e58bc80b70.1493375418.git.gowrishankar.m@linux.vnet.ibm.com>

Andriy, please would you like to review this patch?

28/04/2017 12:34, Gowrishankar:
> From: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
> 
> Current usertools/cpu_layout.py is broken to handle multithreads of count more
> than 2 as in IBM powerpc P8 servers. Below patch addressed this issue. Also,
> added minor exception catch on failing to open unavailable sys file in case of
> multithread=off configuration in server.
> 
> Patch has been verified not to break existing topology configurations
> and also not changing anything in current output.
> 
> Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
> ---
>  usertools/cpu_layout.py | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/usertools/cpu_layout.py b/usertools/cpu_layout.py
> index 5735891..99152a2 100755
> --- a/usertools/cpu_layout.py
> +++ b/usertools/cpu_layout.py
> @@ -46,6 +46,8 @@
>  for cpu in xrange(max_cpus + 1):
>      try:
>          fd = open("{}/cpu{}/topology/core_id".format(base_path, cpu))
> +    except IOError:
> +        continue
>      except:
>          break
>      core = int(fd.read())
> @@ -70,7 +72,10 @@
>  print("")
>  
>  max_processor_len = len(str(len(cores) * len(sockets) * 2 - 1))
> -max_core_map_len = max_processor_len * 2 + len('[, ]') + len('Socket ')
> +max_thread_count = len(core_map.values()[0])
> +max_core_map_len = (max_processor_len * max_thread_count)  \
> +                      + len(", ") * (max_thread_count - 1) \
> +                      + len('[]') + len('Socket ')
>  max_core_id_len = len(str(max(cores)))
>  
>  output = " ".ljust(max_core_id_len + len('Core '))
> @@ -87,5 +92,8 @@
>  for c in cores:
>      output = "Core %s" % str(c).ljust(max_core_id_len)
>      for s in sockets:
> -        output += " " + str(core_map[(s, c)]).ljust(max_core_map_len)
> +        if core_map.has_key((s,c)):
> +            output += " " + str(core_map[(s, c)]).ljust(max_core_map_len)
> +        else:
> +            output += " " * (max_core_map_len + 1)
>      print(output)
> 

  reply	other threads:[~2017-04-28 11:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-28 10:34 [PATCH] usertools: fix cpu_layout script for multithreads of more than 2 Gowrishankar
2017-04-28 11:58 ` Thomas Monjalon [this message]
2017-04-28 12:25   ` Andriy Berestovskyy
2017-04-30 13:29     ` 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=1874376.tUCind7prS@xps \
    --to=thomas@monjalon.net \
    --cc=andriy.berestovskyy@caviumnetworks.com \
    --cc=dev@dpdk.org \
    --cc=gowrishankar.m@linux.vnet.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.