Based on kernel version 6.12.4
. Page generated on 2024-12-12 21:01 EST
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | What: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/control Date: March 2024 KernelVersion: 6.8 Contact: qat-linux@intel.com Description: (RW) Enables/disables the reporting of telemetry metrics. Allowed values to write: ======================== * 0: disable telemetry * 1: enable telemetry * 2, 3, 4: enable telemetry and calculate minimum, maximum and average for each counter over 2, 3 or 4 samples Returned values: ================ * 1-4: telemetry is enabled and running * 0: telemetry is disabled Example. Writing '3' to this file starts the collection of telemetry metrics. Samples are collected every second and stored in a circular buffer of size 3. These values are then used to calculate the minimum, maximum and average for each counter. After enabling, counters can be retrieved through the ``device_data`` file:: echo 3 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control Writing '0' to this file stops the collection of telemetry metrics:: echo 0 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control This attribute is only available for qat_4xxx devices. What: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/device_data Date: March 2024 KernelVersion: 6.8 Contact: qat-linux@intel.com Description: (RO) Reports device telemetry counters. Reads report metrics about performance and utilization of a QAT device: ======================= ======================================== Field Description ======================= ======================================== sample_cnt number of acquisitions of telemetry data from the device. Reads are performed every 1000 ms. pci_trans_cnt number of PCIe partial transactions max_rd_lat maximum logged read latency [ns] (could be any read operation) rd_lat_acc_avg average read latency [ns] max_gp_lat max get to put latency [ns] (only takes samples for AE0) gp_lat_acc_avg average get to put latency [ns] bw_in PCIe, write bandwidth [Mbps] bw_out PCIe, read bandwidth [Mbps] at_page_req_lat_avg Address Translator(AT), average page request latency [ns] at_trans_lat_avg AT, average page translation latency [ns] at_max_tlb_used AT, maximum uTLB used util_cpr<N> utilization of Compression slice N [%] exec_cpr<N> execution count of Compression slice N util_xlt<N> utilization of Translator slice N [%] exec_xlt<N> execution count of Translator slice N util_dcpr<N> utilization of Decompression slice N [%] exec_dcpr<N> execution count of Decompression slice N util_pke<N> utilization of PKE N [%] exec_pke<N> execution count of PKE N util_ucs<N> utilization of UCS slice N [%] exec_ucs<N> execution count of UCS slice N util_wat<N> utilization of Wireless Authentication slice N [%] exec_wat<N> execution count of Wireless Authentication slice N util_wcp<N> utilization of Wireless Cipher slice N [%] exec_wcp<N> execution count of Wireless Cipher slice N util_cph<N> utilization of Cipher slice N [%] exec_cph<N> execution count of Cipher slice N util_ath<N> utilization of Authentication slice N [%] exec_ath<N> execution count of Authentication slice N ======================= ======================================== The telemetry report file can be read with the following command:: cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/device_data If ``control`` is set to 1, only the current values of the counters are displayed:: <counter_name> <current> If ``control`` is 2, 3 or 4, counters are displayed in the following format:: <counter_name> <current> <min> <max> <avg> If a device lacks of a specific accelerator, the corresponding attribute is not reported. This attribute is only available for qat_4xxx devices. What: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/rp_<A/B/C/D>_data Date: March 2024 KernelVersion: 6.8 Contact: qat-linux@intel.com Description: (RW) Selects up to 4 Ring Pairs (RP) to monitor, one per file, and report telemetry counters related to each. Allowed values to write: ======================== * 0 to ``<num_rps - 1>``: Ring pair to be monitored. The value of ``num_rps`` can be retrieved through ``/sys/bus/pci/devices/<BDF>/qat/num_rps``. See Documentation/ABI/testing/sysfs-driver-qat. Reads report metrics about performance and utilization of the selected RP: ======================= ======================================== Field Description ======================= ======================================== sample_cnt number of acquisitions of telemetry data from the device. Reads are performed every 1000 ms rp_num RP number associated with slot <A/B/C/D> service_type service associated to the RP pci_trans_cnt number of PCIe partial transactions gp_lat_acc_avg average get to put latency [ns] bw_in PCIe, write bandwidth [Mbps] bw_out PCIe, read bandwidth [Mbps] at_glob_devtlb_hit Message descriptor DevTLB hit rate at_glob_devtlb_miss Message descriptor DevTLB miss rate tl_at_payld_devtlb_hit Payload DevTLB hit rate tl_at_payld_devtlb_miss Payload DevTLB miss rate ======================= ======================================== Example. Writing the value '32' to the file ``rp_C_data`` starts the collection of telemetry metrics for ring pair 32:: echo 32 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data Once a ring pair is selected, statistics can be read accessing the file:: cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data If ``control`` is set to 1, only the current values of the counters are displayed:: <counter_name> <current> If ``control`` is 2, 3 or 4, counters are displayed in the following format:: <counter_name> <current> <min> <max> <avg> On QAT GEN4 devices there are 64 RPs on a PF, so the allowed values are 0..63. This number is absolute to the device. If Virtual Functions (VF) are used, the ring pair number can be derived from the Bus, Device, Function of the VF: ============ ====== ====== ====== ====== PCI BDF/VF RP0 RP1 RP2 RP3 ============ ====== ====== ====== ====== 0000:6b:0.1 RP 0 RP 1 RP 2 RP 3 0000:6b:0.2 RP 4 RP 5 RP 6 RP 7 0000:6b:0.3 RP 8 RP 9 RP 10 RP 11 0000:6b:0.4 RP 12 RP 13 RP 14 RP 15 0000:6b:0.5 RP 16 RP 17 RP 18 RP 19 0000:6b:0.6 RP 20 RP 21 RP 22 RP 23 0000:6b:0.7 RP 24 RP 25 RP 26 RP 27 0000:6b:1.0 RP 28 RP 29 RP 30 RP 31 0000:6b:1.1 RP 32 RP 33 RP 34 RP 35 0000:6b:1.2 RP 36 RP 37 RP 38 RP 39 0000:6b:1.3 RP 40 RP 41 RP 42 RP 43 0000:6b:1.4 RP 44 RP 45 RP 46 RP 47 0000:6b:1.5 RP 48 RP 49 RP 50 RP 51 0000:6b:1.6 RP 52 RP 53 RP 54 RP 55 0000:6b:1.7 RP 56 RP 57 RP 58 RP 59 0000:6b:2.0 RP 60 RP 61 RP 62 RP 63 ============ ====== ====== ====== ====== The mapping is only valid for the BDFs of VFs on the host. The service provided on a ring-pair varies depending on the configuration. The configuration for a given device can be queried and set using ``cfg_services``. See Documentation/ABI/testing/sysfs-driver-qat for details. The following table reports how ring pairs are mapped to VFs on the PF 0000:6b:0.0 configured for `sym;asym` or `asym;sym`: =========== ============ =========== ============ =========== PCI BDF/VF RP0/service RP1/service RP2/service RP3/service =========== ============ =========== ============ =========== 0000:6b:0.1 RP 0 asym RP 1 sym RP 2 asym RP 3 sym 0000:6b:0.2 RP 4 asym RP 5 sym RP 6 asym RP 7 sym 0000:6b:0.3 RP 8 asym RP 9 sym RP10 asym RP11 sym ... ... ... ... ... =========== ============ =========== ============ =========== All VFs follow the same pattern. The following table reports how ring pairs are mapped to VFs on the PF 0000:6b:0.0 configured for `dc`: =========== ============ =========== ============ =========== PCI BDF/VF RP0/service RP1/service RP2/service RP3/service =========== ============ =========== ============ =========== 0000:6b:0.1 RP 0 dc RP 1 dc RP 2 dc RP 3 dc 0000:6b:0.2 RP 4 dc RP 5 dc RP 6 dc RP 7 dc 0000:6b:0.3 RP 8 dc RP 9 dc RP10 dc RP11 dc ... ... ... ... ... =========== ============ =========== ============ =========== The mapping of a RP to a service can be retrieved using ``rp2srv`` from sysfs. See Documentation/ABI/testing/sysfs-driver-qat for details. This attribute is only available for qat_4xxx devices. |