在 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