linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jin, Yao" <yao.jin@linux.intel.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: acme@kernel.org, jolsa@kernel.org, peterz@infradead.org,
	mingo@redhat.com, alexander.shishkin@linux.intel.com,
	Linux-kernel@vger.kernel.org, ak@linux.intel.com,
	kan.liang@intel.com, yao.jin@intel.com
Subject: Re: [PATCH v4] perf stat: Show percore counts in per CPU output
Date: Tue, 18 Feb 2020 09:02:52 +0800	[thread overview]
Message-ID: <9c16e98e-aa9e-8879-0690-990a5dcda303@linux.intel.com> (raw)
In-Reply-To: <20200217110629.GD157041@krava>



On 2/17/2020 7:06 PM, Jiri Olsa wrote:
> On Mon, Feb 17, 2020 at 09:22:57AM +0800, Jin, Yao wrote:
>>
>>
>> On 2/17/2020 6:54 AM, Jiri Olsa wrote:
>>> On Fri, Feb 14, 2020 at 04:04:52PM +0800, Jin Yao wrote:
>>>
>>> SNIP
>>>
>>>>    CPU1               1,009,312      cpu/event=cpu-cycles,percore/
>>>>    CPU2               2,784,072      cpu/event=cpu-cycles,percore/
>>>>    CPU3               2,427,922      cpu/event=cpu-cycles,percore/
>>>>    CPU4               2,752,148      cpu/event=cpu-cycles,percore/
>>>>    CPU6               2,784,072      cpu/event=cpu-cycles,percore/
>>>>    CPU7               2,427,922      cpu/event=cpu-cycles,percore/
>>>>
>>>>           1.001416041 seconds time elapsed
>>>>
>>>>    v4:
>>>>    ---
>>>>    Ravi Bangoria reports an issue in v3. Once we offline a CPU,
>>>>    the output is not correct. The issue is we should use the cpu
>>>>    idx in print_percore_thread rather than using the cpu value.
>>>
>>> Acked-by: Jiri Olsa <jolsa@kernel.org>
>>>
>>
>> Thanks so much for ACK this patch. :)
>>
>>> btw, there's slight misalignment in -I output, but not due
>>> to your change, it's there for some time now, and probably
>>> in other agregation  outputs as well:
>>>
>>>
>>>     $ sudo ./perf stat -e cpu/event=cpu-cycles/ -a -A  -I 1000
>>>     #           time CPU                    counts unit events
>>>          1.000224464 CPU0               7,251,151      cpu/event=cpu-cycles/
>>>          1.000224464 CPU1              21,614,946      cpu/event=cpu-cycles/
>>>          1.000224464 CPU2              30,812,097      cpu/event=cpu-cycles/
>>>
>>> should be (extra space after CPUX):
>>>
>>>          1.000224464 CPU2               30,812,097      cpu/event=cpu-cycles/
>>>
>>> I'll put it on my TODO, but if you're welcome to check on it ;-)
>>>
>>> thanks,
>>> jirka
>>>
>>
>> I have a simple fix for this misalignment issue.
>>
>> diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c
>> index bc31fccc0057..95b29c9cba36 100644
>> --- a/tools/perf/util/stat-display.c
>> +++ b/tools/perf/util/stat-display.c
>> @@ -114,11 +114,11 @@ static void aggr_printout(struct perf_stat_config
>> *config,
>>                          fprintf(config->output, "S%d-D%d-C%*d%s",
>>                                  cpu_map__id_to_socket(id),
>>                                  cpu_map__id_to_die(id),
>> -                               config->csv_output ? 0 : -5,
>> +                               config->csv_output ? 0 : -3,
>>                                  cpu_map__id_to_cpu(id), config->csv_sep);
>>                  } else {
>> -                       fprintf(config->output, "CPU%*d%s ",
>> -                               config->csv_output ? 0 : -5,
>> +                       fprintf(config->output, "CPU%*d%s",
>> +                               config->csv_output ? 0 : -7,
>>                                  evsel__cpus(evsel)->map[id],
>>                                  config->csv_sep);
> 
> I guess that's ok, will that work with higher (3 digit) cpu numbers?
> 
> jirka
> 

Yes, it works with hundreds of CPU. I have tested with that case.

BTW, do you need me to post a separate patch or you will add this fix in 
your patch series?

Thanks
Jin Yao

>>                  }
>>
>> Following command lines are tested OK.
>>
>> perf stat -e cpu/event=cpu-cycles/ -I 1000
>> perf stat -e cpu/event=cpu-cycles/ -a -I 1000
>> perf stat -e cpu/event=cpu-cycles/ -a -A -I 1000
>> perf stat -e cpu/event=cpu-cycles,percore/ -a -A -I 1000
>> perf stat -e cpu/event=cpu-cycles,percore/ -a -A --percore-show-thread -I
>> 1000
>>
>> Could you help to look at that?
>>
>> Thanks
>> Jin Yao
>>
> 

  reply	other threads:[~2020-02-18  1:02 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-14  8:04 [PATCH v4] perf stat: Show percore counts in per CPU output Jin Yao
2020-02-16 22:54 ` Jiri Olsa
2020-02-17  1:22   ` Jin, Yao
2020-02-17 11:06     ` Jiri Olsa
2020-02-18  1:02       ` Jin, Yao [this message]
2020-02-18  6:14         ` Jiri Olsa
2020-02-17 14:45   ` Arnaldo Carvalho de Melo
2020-03-19 14:10 ` [tip: perf/core] " tip-bot2 for Jin Yao

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=9c16e98e-aa9e-8879-0690-990a5dcda303@linux.intel.com \
    --to=yao.jin@linux.intel.com \
    --cc=Linux-kernel@vger.kernel.org \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=kan.liang@intel.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=yao.jin@intel.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 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).