Hi Thomas,
Thanks for your reply.
I have checked my patch. It doesn't apply correctly when "core id" is greater
than 2 characters.
Following is my revised patch. It's based on the maximum length of the "core
id" and "processor" to adjust the alignment length.
Bug: when "core id" is greater than 9, the cpu_layout.py output doesn't align.
Socket 0Socket 1
- -
Core 9 [4, 16] [10, 22]
Core 10 [5, 17] [11, 23]
Solution: adjust output format to align
Socket 0Socket 1
- -
Core 9 [4, 16] [10, 22]
Core 10 [5, 17] [11, 23]
Signed-off-by: Shannon Zhao
---
tools/cpu_layout.py | 16
1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/tools/cpu_layout.py b/tools/cpu_layout.py
index 9eff9d7..eeda17e 100755
--- a/tools/cpu_layout.py
+++ b/tools/cpu_layout.py
@@ -75,15 +75,23 @@ print "cores = ",cores
print "sockets = ", sockets
print ""
+max_processor_len=len(str(len(cores)*len(sockets)*2-1))
+max_core_map_len = max_processor_len*2+4
+if max_core_map_len < 12:
+max_core_map_len = 12
+max_core_id_len=len(str(max(cores)))
+
+print " ".ljust(max_core_id_len+5),
for s in sockets:
- print "\tSocket %s" % s,
+ print "Socket %s" % str(s).ljust(max_core_map_len-7),
print ""
+print " ".ljust(max_core_id_len+5),
for s in sockets:
- print "\t-",
+ print "-".ljust(max_core_map_len),
print ""
for c in cores:
- print "Core %s" % c,
+ print "Core %s" % str(c).ljust(max_core_id_len),
for s in sockets:
- print "\t", core_map[(s,c)],
+ print str(core_map[(s,c)]).ljust(max_core_map_len),
print "\n"
--
1.7.1
On 2014/5/27 18:30, Thomas Monjalon wrote:
> Hi,
>
> Your patch doesn't apply correctly.
> Could you check it, please?
>
> I have also a comment inlined:
>
> 2014-05-27 17:41, Shannon Zhao:
>> - print "\t", core_map[(s,c)],
>> + print core_map[(s,c)],"\t",
>
> Is it possible to fix a minimum alignment of 2 characters?
> It could prevent from such alignment problem:
>
> Core 11 [9, 33] [21, 45]
> Core 12 [10, 34][22, 46]
>
> Thanks
>