lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <be6e0b56-ba29-a2ee-c153-d5aec102b587@huawei.com>
Date:   Wed, 15 Dec 2021 16:18:35 +0000
From:   John Garry <john.garry@...wei.com>
To:     Arnaldo Carvalho de Melo <acme@...nel.org>,
        Jin Yao <yao.jin@...ux.intel.com>
CC:     <jolsa@...nel.org>, <peterz@...radead.org>, <mingo@...hat.com>,
        <alexander.shishkin@...ux.intel.com>,
        <Linux-kernel@...r.kernel.org>, <linux-perf-users@...r.kernel.org>,
        <ak@...ux.intel.com>, <kan.liang@...el.com>, <yao.jin@...el.com>
Subject: Re: [PATCH v2] perf list: Display hybrid pmu events with cpu type

On 19/10/2021 22:14, Arnaldo Carvalho de Melo wrote:
> Em Fri, Sep 03, 2021 at 10:52:39AM +0800, Jin Yao escreveu:
>> Add a new option '--cputype' to perf-list to display core-only pmu events
>> or atom-only pmu events.
>>
>> Each hybrid pmu event has been assigned with a pmu name, this patch
>> compares the pmu name before listing the result.
>>
>> For example,
>>
>> perf list --cputype atom
>> ...
>> cache:
>>    core_reject_l2q.any
>>         [Counts the number of request that were not accepted into the L2Q because the L2Q is FULL. Unit: cpu_atom]
>> ...
>>
>> The "Unit: cpu_atom" is displayed in the brief description section
>> to indicate this is an atom event.
> Thanks, applied.

It seems that this buggers "perf list" for uncore events on my arm64 
platform.

Before:

./perf list "uncore ddrc"
uncore ddrc:
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   flux_rcmd
  [DDRC read commands. Unit: hisi_sccl,ddrc]
   flux_rd
  [DDRC total read operations. Unit: hisi_sccl,ddrc]
   flux_wcmd
  [DDRC write commands. Unit: hisi_sccl,ddrc]
   flux_wr
  [DDRC total write operations. Unit: hisi_sccl,ddrc]
   pre_cmd
  [DDRC precharge commands. Unit: hisi_sccl,ddrc]
   rnk_chg
  [DDRC rank commands. Unit: hisi_sccl,ddrc]
   rw_chg
  [DDRC read and write changes. Unit: hisi_sccl,ddrc]


After:

./perf list "uncore ddrc"

uncore ddrc:
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,ddrc]
   act_cmd
  [DDRC active commands. Unit: hisi_sccl,dd

Notice how the events are repeated.

And then gets broken even worse later some point before v5.16-rc6 such 
that aliasing gets broken altogether.

./perf list  | grep hisi_sccl | grep act_cmd|  wc -l
16

Good should be 0.

I'll have a look. Obviously we need a test case to stop such breakages.

Thanks,
John

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ