[PATCH v4 0/4] Add JSON metrics for Yitian710 DDR

Jing Zhang renyu.zj at linux.alibaba.com
Sun Jun 25 01:58:48 PDT 2023



在 2023/6/21 下午1:00, Namhyung Kim 写道:
> On Tue, Jun 20, 2023 at 8:08 PM Jing Zhang <renyu.zj at linux.alibaba.com> wrote:
>>
>>
>>
>> 在 2023/6/21 上午3:04, Namhyung Kim 写道:
>>> Hello,
>>>
>>> On Tue, Jun 20, 2023 at 12:17 AM Jing Zhang <renyu.zj at linux.alibaba.com> wrote:
>>>>
>>>> Hi all,
>>>>
>>>> I add an identifier sysfs file for the yitian710 SoC DDR to allow
>>>> userspace to identify the specific implementation of the device,
>>>> so that the perf tool can match the corresponding uncore events and
>>>> metrics through the identifier. Then added yitian710 SoC DDR
>>>> metrics and events alias.
>>>>
>>>> Change since v3:
>>>> - Split the CMN and ali_drw patches. This patchset only contains
>>>>   ali_drw PMU related patches. The CMN metric related patches will
>>>>   be in another patchset.
>>>> - Link: https://lore.kernel.org/all/1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com/
>>>>
>>>> $perf list:
>>>> ...
>>>> ali_drw:
>>>>   chi_rxdat
>>>>        [A packet at CHI RXDAT interface (write data). Unit: ali_drw]
>>>>   chi_rxrsp
>>>>        [A packet at CHI RXRSP interface. Unit: ali_drw]
>>>>   chi_txdat
>>>>        [A packet at CHI TXDAT interface (read data). Unit: ali_drw]
>>>>   chi_txreq
>>>>        [A packet at CHI TXREQ interface (request). Unit: ali_drw]
>>>>   cycle
>>>>        [The ddr cycle. Unit: ali_drw]
>>>> ...
>>>> ali_drw:
>>>>   ddr_read_bandwidth.all
>>>>        [The ddr read bandwidth(MB/s). Unit: ali_drw ]
>>>>   ddr_write_bandwidth.all
>>>>        [The ddr write bandwidth(MB/s). Unit: ali_drw ]
>>>> ...
>>>>
>>>> $perf stat -M ddr_read_bandwidth.all ./test
>>>>
>>>> Performance counter stats for 'system wide':
>>>>
>>>>             38,150      hif_rd        #  2.4 MB/s  ddr_read_bandwidth.all
>>>>      1,000,957,941 ns   duration_time
>>>>
>>>>        1.000957941 seconds time elapsed
>>>>
>>>> Jing Zhang (4):
>>>>   driver/perf: Add identifier sysfs file for Yitian 710 DDR
>>>>   perf jevents: Add support for Yitian 710 DDR PMU aliasing
>>>>   perf vendor events: Add JSON metrics for Yitian 710 DDR
>>>>   docs: perf: Update metric usage for Alibaba's T-Head PMU driver
>>>
>>> So patch 1 is for the kernel, and patch 2-4 depend on it, right?
>>>
>>
>> Hi Namhyung,
>>
>> Yes, patch 2-4 depend on patch 1.
>>
>>> I'm curious why the first patch is needed, presumably the PMU
>>> should have 'ali_drw' in the name already.  Do we use substring
>>> match for the compat name in the JSON metric?
>>>
>>
>> The main purpose of patch 1 is to add an identifier so that the Compat
>> field can match the corresponding event when defining aliases or metrics
>> for events.
>>
>> For example, "Unit" can match "ali_drw" in the name and different SoCs may
>> be able to match ali_drw, but they may have different events, and even if
>> the events are the same, the meanings may be different. Therefore, the
>> Compat field is needed to match the Identifier to confirm which type and
>> revision of PMU the current SoC has. Therefore, both "Unit" and "Compat"
>> need to be matched at the same time. Although it seems that ali_drw is
>> redundantly matched currently, it is meaningful for future expansion.
> 
> I see, thanks for the explanation.
> 
> I think you need to route the kernel patch differently.  I can apply the tools
> part once the kernel patch gets Acks from others.
> 

Ok, Thank you.

Thanks,
Jing

> Thanks,
> Namhyung



More information about the linux-arm-kernel mailing list