1 ====================================== 2 HNS3 Performance Monitoring Unit (PMU) 3 ====================================== 4 5 HNS3(HiSilicon network system 3) Performance M 6 End Point device to collect performance statis 7 On Hip09, each SICL(Super I/O cluster) has one 8 9 HNS3 PMU supports collection of performance st 10 latency, packet rate and interrupt rate. 11 12 Each HNS3 PMU supports 8 hardware events. 13 14 HNS3 PMU driver 15 =============== 16 17 The HNS3 PMU driver registers a perf PMU with 18 19 /sys/bus/event_source/devices/hns3_pmu_sicl_ 20 21 PMU driver provides description of available e 22 identifier and cpumask in sysfs. 23 24 The "events" directory describes the event cod 25 shown in perf list. 26 27 The "filtermode" directory describes the suppo 28 event. 29 30 The "format" directory describes all formats o 31 config1 (filter options) fields of the perf_ev 32 33 The "identifier" file shows version of PMU har 34 35 The "bdf_min" and "bdf_max" files show the sup 36 pmu device. 37 38 The "hw_clk_freq" file shows the hardware cloc 39 device. 40 41 Example usage of checking event code and subev 42 43 $# cat /sys/bus/event_source/devices/hns3_pm 44 config=0x00204 45 $# cat /sys/bus/event_source/devices/hns3_pm 46 config=0x10204 47 48 Each performance statistic has a pair of event 49 calculate real performance data in userspace. 50 51 The bits 0~15 of config (here 0x0204) are the 52 two events have same value of bits 0~15 of con 53 event pair. And the bit 16 of config indicates 54 counter 1 of hardware event. 55 56 After getting two values of event pair in user 57 computation to calculate real performance data 58 59 counter 0 / counter 1 60 61 Example usage of checking supported filter mod 62 63 $# cat /sys/bus/event_source/devices/hns3_pm 64 filter mode supported: global/port/port-tc/f 65 66 Example usage of perf:: 67 68 $# perf list 69 hns3_pmu_sicl_0/bw_ssu_rpu_byte_num/ [kernel 70 hns3_pmu_sicl_0/bw_ssu_rpu_time/ [kernel 71 ------------------------------------------ 72 73 $# perf stat -g -e hns3_pmu_sicl_0/bw_ssu_rp 74 or 75 $# perf stat -g -e hns3_pmu_sicl_0/config=0x 76 77 78 Filter modes 79 -------------- 80 81 1. global mode 82 PMU collect performance statistics for all HNS 83 Set the "global" filter option to 1 will enabl 84 Example usage of perf:: 85 86 $# perf stat -a -e hns3_pmu_sicl_0/config=0x 87 88 2. port mode 89 PMU collect performance statistic of one whole 90 is same as mac id. The "tc" filter option must 91 here tc stands for traffic class. 92 93 Example usage of perf:: 94 95 $# perf stat -a -e hns3_pmu_sicl_0/config=0x 96 97 3. port-tc mode 98 PMU collect performance statistic of one tc of 99 is same as mac id. The "tc" filter option must 100 mode. 101 Example usage of perf:: 102 103 $# perf stat -a -e hns3_pmu_sicl_0/config=0x 104 105 4. func mode 106 PMU collect performance statistic of one PF/VF 107 PF/VF, its conversion formula:: 108 109 func = (bus << 8) + (device << 3) + (functio 110 111 for example: 112 BDF func 113 35:00.0 0x3500 114 35:00.1 0x3501 115 35:01.0 0x3508 116 117 In this mode, the "queue" filter option must b 118 Example usage of perf:: 119 120 $# perf stat -a -e hns3_pmu_sicl_0/config=0x 121 122 5. func-queue mode 123 PMU collect performance statistic of one queue 124 is BDF of PF/VF, the "queue" filter option mus 125 id of function. 126 Example usage of perf:: 127 128 $# perf stat -a -e hns3_pmu_sicl_0/config=0x 129 130 6. func-intr mode 131 PMU collect performance statistic of one inter 132 id is BDF of PF/VF, the "intr" filter option m 133 interrupt id of function. 134 Example usage of perf:: 135 136 $# perf stat -a -e hns3_pmu_sicl_0/config=0x
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.