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)
>
next prev parent 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.