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. Thanks, Namhyung