Re: [PATCH v4 0/4] Add JSON metrics for Yitian710 DDR
From: Jing Zhang
Date: Sun Jun 25 2023 - 04:59:17 EST
在 2023/6/21 下午1:00, Namhyung Kim 写道:
> On Tue, Jun 20, 2023 at 8:08 PM Jing Zhang <renyu.zj@xxxxxxxxxxxxxxxxx> wrote:
>>
>>
>>
>> 在 2023/6/21 上午3:04, Namhyung Kim 写道:
>>> Hello,
>>>
>>> On Tue, Jun 20, 2023 at 12:17 AM Jing Zhang <renyu.zj@xxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxx/
>>>>
>>>> $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