linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Clark <james.clark@linaro.org>
To: "Liang, Kan" <kan.liang@linux.intel.com>,
	Ian Rogers <irogers@google.com>
Cc: linux-perf-users@vger.kernel.org,
	John Garry <john.g.garry@oracle.com>,
	Will Deacon <will@kernel.org>, Mike Leach <mike.leach@linaro.org>,
	Leo Yan <leo.yan@linux.dev>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Weilin Wang <weilin.wang@intel.com>,
	Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
	Dominique Martinet <asmadeus@codewreck.org>,
	Yang Jihong <yangjihong@bytedance.com>,
	Colin Ian King <colin.i.king@gmail.com>,
	Andi Kleen <ak@linux.intel.com>, Ze Gao <zegao2021@gmail.com>,
	Jing Zhang <renyu.zj@linux.alibaba.com>,
	Sun Haiyong <sunhaiyong@loongson.cn>,
	Yicong Yang <yangyicong@hisilicon.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 0/7] Event parsing fixes
Date: Tue, 27 Aug 2024 10:13:21 +0100	[thread overview]
Message-ID: <b9ff0a13-7a77-4cb3-b8c0-e5fdf2d86e87@linaro.org> (raw)
In-Reply-To: <961ff6d6-a9b3-4329-9a22-6934ca152318@linux.intel.com>



On 22/08/2024 4:18 pm, Liang, Kan wrote:
> 
> 
> On 2024-08-22 11:10 a.m., Ian Rogers wrote:
>> On Thu, Aug 22, 2024 at 7:32 AM Liang, Kan <kan.liang@linux.intel.com> wrote:
>>>
>>>
>>>
>>> On 2024-08-22 9:24 a.m., James Clark wrote:
>>>> I rebased this one and made some other fixes so that I could test it,
>>>> so I thought I'd repost it here in case it's helpful. I also added a
>>>> new test.
>>>>
>>>> But for the testing it all looks ok.
>>>>
>>>> There is one small difference where it now shows "stalled-cycles-..."
>>>> as <not supported> events, when before it just didn't show them at all when
>>>> they weren't supported:
>>>>
>>>>    $ perf stat -- true
>>>>
>>>>    Performance counter stats for 'true':
>>>>
>>>>                0.66 msec task-clock                       #    0.384 CPUs utilized
>>>>                   0      context-switches                 #    0.000 /sec
>>>>                   0      cpu-migrations                   #    0.000 /sec
>>>>                  52      page-faults                      #   78.999 K/sec
>>>>       <not counted>      cpu_atom/instructions/                                                  (0.00%)
>>>>             978,399      cpu_core/instructions/           #    1.02  insn per cycle
>>>>       <not counted>      cpu_atom/cycles/                                                        (0.00%)
>>>>             959,722      cpu_core/cycles/                 #    1.458 GHz
>>>>     <not supported>      cpu_atom/stalled-cycles-frontend/
>>>>     <not supported>      cpu_core/stalled-cycles-frontend/
>>>>
>>>
>>> Intel didn't support the events for a very long time. It would impact
>>> many existing generations and all future generations.
>>> The current method is to hide the non-exist events. The TopdownL1 is an
>>> example. If it doesn't exist in the json file, perf stat will not
>>> display it.
>>> I don't think it's a good idea to disclose non-exist events in the perf
>>> stat default.
>>>
>>> The <not supported> doesn't help here, since there could be many reasons
>>> that the perf tool fails to open a counter. It just provides a
>>> misleading message for an event that never existed.
>>
>> The list of "default" events, not metrics, similarly has "<not
>> supported>" in many configurations with "-dd" or "-ddd" on AMD. I'm
>> not sure the set of default events, at different detail levels, is
>> necessarily the best. The default events can also be a source of
>> multiplexing, for example, showing branch miss rate alongside topdown
>> metrics. Anyway, for the "<not supported>" we should probably be able
>> to tweak should_skip_zero_counter that is in stat-display.c and tag
>> these default events as "skippable".
> 
> The "skippable" should be fine as long as it's completely hidden.
> 
> BTW: The stalled-cycles-backend should be similar to the
> stalled-cycles-frontend, but it isn't shown in the example. Is the
> stalled-cycles-backend event missed?
> 
> Thanks,
> Kan

Sorry I should have made it clearer that I truncated the output just to 
focus on the <not supported> part. The full output is below and it does 
include stalled-cycles-backend.

I'll have a look at trying to hide the ones that don't exist, I think it 
will look cleaner. But at the same time what it says isn't incorrect, 
and it's not like we hide the lines from cores where the process didn't 
run, so it doesn't look out of place with the <not counted> ones.



   $ perf stat -- true

   Performance counter stats for 'true':

                0.42 msec task-clock                #    0.439 CPUs 
utilized
                   0      context-switches          #    0.000 /sec 

                   0      cpu-migrations            #    0.000 /sec 

                  53      page-faults               #  125.592 K/sec 

             978,160      cpu_atom/instructions/    #    0.91  insn per 
cycle
       <not counted>      cpu_core/instructions/                 (0.00%)
           1,070,525      cpu_atom/cycles/          #    2.537 GHz 

       <not counted>      cpu_core/cycles/                       (0.00%)
     <not supported>      cpu_atom/stalled-cycles-frontend/
     <not supported>      cpu_core/stalled-cycles-frontend/
     <not supported>      cpu_atom/stalled-cycles-backend/
     <not supported>      cpu_core/stalled-cycles-backend/
             175,814      cpu_atom/branches/        #  416.620 M/sec 

       <not counted>      cpu_core/branches/                     (0.00%)
               6,851      cpu_atom/branch-misses/   #    3.90% of all 
branches
       <not counted>      cpu_core/branch-misses/                (0.00%)
               TopdownL1 (cpu_atom)     #     17.4 % 
tma_bad_speculation
                                        #     21.8 %  tma_retiring 

               TopdownL1 (cpu_atom)     #     27.5 %  tma_backend_bound 

                                        #     33.3 %  tma_frontend_bound 


         0.000960792 seconds time elapsed

         0.000000000 seconds user
         0.000471000 seconds sys

  reply	other threads:[~2024-08-27  9:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-22 13:24 [PATCH v4 0/7] Event parsing fixes James Clark
2024-08-22 13:24 ` [PATCH v4 1/7] perf evsel: Add alternate_hw_config and use in evsel__match James Clark
2024-08-22 13:24 ` [PATCH v4 2/7] perf stat: Uniquify event name improvements James Clark
2024-08-22 13:24 ` [PATCH v4 3/7] perf stat: Remove evlist__add_default_attrs use strings James Clark
2024-08-22 13:24 ` [PATCH v4 4/7] perf evsel x86: Make evsel__has_perf_metrics work for legacy events James Clark
2024-08-22 13:24 ` [PATCH v4 5/7] perf evsel: Remove pmu_name James Clark
2024-08-22 13:24 ` [PATCH v4 6/7] perf test: Make stat test work on DT devices James Clark
2024-08-22 13:24 ` [PATCH v4 7/7] perf test: Add a test for default perf stat command James Clark
2024-08-22 14:32 ` [PATCH v4 0/7] Event parsing fixes Liang, Kan
2024-08-22 15:10   ` Ian Rogers
2024-08-22 15:18     ` Liang, Kan
2024-08-27  9:13       ` James Clark [this message]
2024-08-28  5:16 ` Andi Kleen

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=b9ff0a13-7a77-4cb3-b8c0-e5fdf2d86e87@linaro.org \
    --to=james.clark@linaro.org \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=asmadeus@codewreck.org \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=colin.i.king@gmail.com \
    --cc=irogers@google.com \
    --cc=john.g.garry@oracle.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=leo.yan@linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mike.leach@linaro.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=renyu.zj@linux.alibaba.com \
    --cc=sunhaiyong@loongson.cn \
    --cc=weilin.wang@intel.com \
    --cc=will@kernel.org \
    --cc=yangjihong@bytedance.com \
    --cc=yangyicong@hisilicon.com \
    --cc=zegao2021@gmail.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).