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 0 Socket 1 --------- --------- Core 9 [4, 16] [10, 22] Core 10 [5, 17] [11, 23] Solution: adjust output format to align Socket 0 Socket 1 --------- --------- Core 9 [4, 16] [10, 22] Core 10 [5, 17] [11, 23] Signed-off-by: Shannon Zhao <zhaoshenglong at huawei.com> --- 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 >