169e7649fSLucas Segarra FernandezWhat: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/control 269e7649fSLucas Segarra FernandezDate: March 2024 369e7649fSLucas Segarra FernandezKernelVersion: 6.8 469e7649fSLucas Segarra FernandezContact: qat-linux@intel.com 569e7649fSLucas Segarra FernandezDescription: (RW) Enables/disables the reporting of telemetry metrics. 669e7649fSLucas Segarra Fernandez 769e7649fSLucas Segarra Fernandez Allowed values to write: 869e7649fSLucas Segarra Fernandez ======================== 969e7649fSLucas Segarra Fernandez * 0: disable telemetry 1069e7649fSLucas Segarra Fernandez * 1: enable telemetry 1169e7649fSLucas Segarra Fernandez * 2, 3, 4: enable telemetry and calculate minimum, maximum 1269e7649fSLucas Segarra Fernandez and average for each counter over 2, 3 or 4 samples 1369e7649fSLucas Segarra Fernandez 1469e7649fSLucas Segarra Fernandez Returned values: 1569e7649fSLucas Segarra Fernandez ================ 1669e7649fSLucas Segarra Fernandez * 1-4: telemetry is enabled and running 1769e7649fSLucas Segarra Fernandez * 0: telemetry is disabled 1869e7649fSLucas Segarra Fernandez 1969e7649fSLucas Segarra Fernandez Example. 2069e7649fSLucas Segarra Fernandez 2169e7649fSLucas Segarra Fernandez Writing '3' to this file starts the collection of 2269e7649fSLucas Segarra Fernandez telemetry metrics. Samples are collected every second and 2369e7649fSLucas Segarra Fernandez stored in a circular buffer of size 3. These values are then 2469e7649fSLucas Segarra Fernandez used to calculate the minimum, maximum and average for each 2569e7649fSLucas Segarra Fernandez counter. After enabling, counters can be retrieved through 2669e7649fSLucas Segarra Fernandez the ``device_data`` file:: 2769e7649fSLucas Segarra Fernandez 2869e7649fSLucas Segarra Fernandez echo 3 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control 2969e7649fSLucas Segarra Fernandez 3069e7649fSLucas Segarra Fernandez Writing '0' to this file stops the collection of telemetry 3169e7649fSLucas Segarra Fernandez metrics:: 3269e7649fSLucas Segarra Fernandez 3369e7649fSLucas Segarra Fernandez echo 0 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control 3469e7649fSLucas Segarra Fernandez 3569e7649fSLucas Segarra Fernandez This attribute is only available for qat_4xxx devices. 3669e7649fSLucas Segarra Fernandez 3769e7649fSLucas Segarra FernandezWhat: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/device_data 3869e7649fSLucas Segarra FernandezDate: March 2024 3969e7649fSLucas Segarra FernandezKernelVersion: 6.8 4069e7649fSLucas Segarra FernandezContact: qat-linux@intel.com 4169e7649fSLucas Segarra FernandezDescription: (RO) Reports device telemetry counters. 4269e7649fSLucas Segarra Fernandez Reads report metrics about performance and utilization of 4369e7649fSLucas Segarra Fernandez a QAT device: 4469e7649fSLucas Segarra Fernandez 4569e7649fSLucas Segarra Fernandez ======================= ======================================== 4669e7649fSLucas Segarra Fernandez Field Description 4769e7649fSLucas Segarra Fernandez ======================= ======================================== 4869e7649fSLucas Segarra Fernandez sample_cnt number of acquisitions of telemetry data 4969e7649fSLucas Segarra Fernandez from the device. Reads are performed 5069e7649fSLucas Segarra Fernandez every 1000 ms. 5169e7649fSLucas Segarra Fernandez pci_trans_cnt number of PCIe partial transactions 5269e7649fSLucas Segarra Fernandez max_rd_lat maximum logged read latency [ns] (could 5369e7649fSLucas Segarra Fernandez be any read operation) 5469e7649fSLucas Segarra Fernandez rd_lat_acc_avg average read latency [ns] 5569e7649fSLucas Segarra Fernandez max_gp_lat max get to put latency [ns] (only takes 5669e7649fSLucas Segarra Fernandez samples for AE0) 5769e7649fSLucas Segarra Fernandez gp_lat_acc_avg average get to put latency [ns] 5869e7649fSLucas Segarra Fernandez bw_in PCIe, write bandwidth [Mbps] 5969e7649fSLucas Segarra Fernandez bw_out PCIe, read bandwidth [Mbps] 6069e7649fSLucas Segarra Fernandez at_page_req_lat_avg Address Translator(AT), average page 6169e7649fSLucas Segarra Fernandez request latency [ns] 6269e7649fSLucas Segarra Fernandez at_trans_lat_avg AT, average page translation latency [ns] 6369e7649fSLucas Segarra Fernandez at_max_tlb_used AT, maximum uTLB used 6469e7649fSLucas Segarra Fernandez util_cpr<N> utilization of Compression slice N [%] 6569e7649fSLucas Segarra Fernandez exec_cpr<N> execution count of Compression slice N 6669e7649fSLucas Segarra Fernandez util_xlt<N> utilization of Translator slice N [%] 6769e7649fSLucas Segarra Fernandez exec_xlt<N> execution count of Translator slice N 6869e7649fSLucas Segarra Fernandez util_dcpr<N> utilization of Decompression slice N [%] 6969e7649fSLucas Segarra Fernandez exec_dcpr<N> execution count of Decompression slice N 7069e7649fSLucas Segarra Fernandez util_pke<N> utilization of PKE N [%] 7169e7649fSLucas Segarra Fernandez exec_pke<N> execution count of PKE N 7269e7649fSLucas Segarra Fernandez util_ucs<N> utilization of UCS slice N [%] 7369e7649fSLucas Segarra Fernandez exec_ucs<N> execution count of UCS slice N 7469e7649fSLucas Segarra Fernandez util_wat<N> utilization of Wireless Authentication 7569e7649fSLucas Segarra Fernandez slice N [%] 7669e7649fSLucas Segarra Fernandez exec_wat<N> execution count of Wireless Authentication 7769e7649fSLucas Segarra Fernandez slice N 7869e7649fSLucas Segarra Fernandez util_wcp<N> utilization of Wireless Cipher slice N [%] 7969e7649fSLucas Segarra Fernandez exec_wcp<N> execution count of Wireless Cipher slice N 8069e7649fSLucas Segarra Fernandez util_cph<N> utilization of Cipher slice N [%] 8169e7649fSLucas Segarra Fernandez exec_cph<N> execution count of Cipher slice N 8269e7649fSLucas Segarra Fernandez util_ath<N> utilization of Authentication slice N [%] 8369e7649fSLucas Segarra Fernandez exec_ath<N> execution count of Authentication slice N 8469e7649fSLucas Segarra Fernandez ======================= ======================================== 8569e7649fSLucas Segarra Fernandez 8669e7649fSLucas Segarra Fernandez The telemetry report file can be read with the following command:: 8769e7649fSLucas Segarra Fernandez 8869e7649fSLucas Segarra Fernandez cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/device_data 8969e7649fSLucas Segarra Fernandez 9069e7649fSLucas Segarra Fernandez If ``control`` is set to 1, only the current values of the 9169e7649fSLucas Segarra Fernandez counters are displayed:: 9269e7649fSLucas Segarra Fernandez 9369e7649fSLucas Segarra Fernandez <counter_name> <current> 9469e7649fSLucas Segarra Fernandez 9569e7649fSLucas Segarra Fernandez If ``control`` is 2, 3 or 4, counters are displayed in the 9669e7649fSLucas Segarra Fernandez following format:: 9769e7649fSLucas Segarra Fernandez 9869e7649fSLucas Segarra Fernandez <counter_name> <current> <min> <max> <avg> 9969e7649fSLucas Segarra Fernandez 10069e7649fSLucas Segarra Fernandez If a device lacks of a specific accelerator, the corresponding 10169e7649fSLucas Segarra Fernandez attribute is not reported. 10269e7649fSLucas Segarra Fernandez 10369e7649fSLucas Segarra Fernandez This attribute is only available for qat_4xxx devices. 104*eb527077SLucas Segarra Fernandez 105*eb527077SLucas Segarra FernandezWhat: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/rp_<A/B/C/D>_data 106*eb527077SLucas Segarra FernandezDate: March 2024 107*eb527077SLucas Segarra FernandezKernelVersion: 6.8 108*eb527077SLucas Segarra FernandezContact: qat-linux@intel.com 109*eb527077SLucas Segarra FernandezDescription: (RW) Selects up to 4 Ring Pairs (RP) to monitor, one per file, 110*eb527077SLucas Segarra Fernandez and report telemetry counters related to each. 111*eb527077SLucas Segarra Fernandez 112*eb527077SLucas Segarra Fernandez Allowed values to write: 113*eb527077SLucas Segarra Fernandez ======================== 114*eb527077SLucas Segarra Fernandez * 0 to ``<num_rps - 1>``: 115*eb527077SLucas Segarra Fernandez Ring pair to be monitored. The value of ``num_rps`` can be 116*eb527077SLucas Segarra Fernandez retrieved through ``/sys/bus/pci/devices/<BDF>/qat/num_rps``. 117*eb527077SLucas Segarra Fernandez See Documentation/ABI/testing/sysfs-driver-qat. 118*eb527077SLucas Segarra Fernandez 119*eb527077SLucas Segarra Fernandez Reads report metrics about performance and utilization of 120*eb527077SLucas Segarra Fernandez the selected RP: 121*eb527077SLucas Segarra Fernandez 122*eb527077SLucas Segarra Fernandez ======================= ======================================== 123*eb527077SLucas Segarra Fernandez Field Description 124*eb527077SLucas Segarra Fernandez ======================= ======================================== 125*eb527077SLucas Segarra Fernandez sample_cnt number of acquisitions of telemetry data 126*eb527077SLucas Segarra Fernandez from the device. Reads are performed 127*eb527077SLucas Segarra Fernandez every 1000 ms 128*eb527077SLucas Segarra Fernandez rp_num RP number associated with slot <A/B/C/D> 129*eb527077SLucas Segarra Fernandez service_type service associated to the RP 130*eb527077SLucas Segarra Fernandez pci_trans_cnt number of PCIe partial transactions 131*eb527077SLucas Segarra Fernandez gp_lat_acc_avg average get to put latency [ns] 132*eb527077SLucas Segarra Fernandez bw_in PCIe, write bandwidth [Mbps] 133*eb527077SLucas Segarra Fernandez bw_out PCIe, read bandwidth [Mbps] 134*eb527077SLucas Segarra Fernandez at_glob_devtlb_hit Message descriptor DevTLB hit rate 135*eb527077SLucas Segarra Fernandez at_glob_devtlb_miss Message descriptor DevTLB miss rate 136*eb527077SLucas Segarra Fernandez tl_at_payld_devtlb_hit Payload DevTLB hit rate 137*eb527077SLucas Segarra Fernandez tl_at_payld_devtlb_miss Payload DevTLB miss rate 138*eb527077SLucas Segarra Fernandez ======================= ======================================== 139*eb527077SLucas Segarra Fernandez 140*eb527077SLucas Segarra Fernandez Example. 141*eb527077SLucas Segarra Fernandez 142*eb527077SLucas Segarra Fernandez Writing the value '32' to the file ``rp_C_data`` starts the 143*eb527077SLucas Segarra Fernandez collection of telemetry metrics for ring pair 32:: 144*eb527077SLucas Segarra Fernandez 145*eb527077SLucas Segarra Fernandez echo 32 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data 146*eb527077SLucas Segarra Fernandez 147*eb527077SLucas Segarra Fernandez Once a ring pair is selected, statistics can be read accessing 148*eb527077SLucas Segarra Fernandez the file:: 149*eb527077SLucas Segarra Fernandez 150*eb527077SLucas Segarra Fernandez cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data 151*eb527077SLucas Segarra Fernandez 152*eb527077SLucas Segarra Fernandez If ``control`` is set to 1, only the current values of the 153*eb527077SLucas Segarra Fernandez counters are displayed:: 154*eb527077SLucas Segarra Fernandez 155*eb527077SLucas Segarra Fernandez <counter_name> <current> 156*eb527077SLucas Segarra Fernandez 157*eb527077SLucas Segarra Fernandez If ``control`` is 2, 3 or 4, counters are displayed in the 158*eb527077SLucas Segarra Fernandez following format:: 159*eb527077SLucas Segarra Fernandez 160*eb527077SLucas Segarra Fernandez <counter_name> <current> <min> <max> <avg> 161*eb527077SLucas Segarra Fernandez 162*eb527077SLucas Segarra Fernandez 163*eb527077SLucas Segarra Fernandez On QAT GEN4 devices there are 64 RPs on a PF, so the allowed 164*eb527077SLucas Segarra Fernandez values are 0..63. This number is absolute to the device. 165*eb527077SLucas Segarra Fernandez If Virtual Functions (VF) are used, the ring pair number can 166*eb527077SLucas Segarra Fernandez be derived from the Bus, Device, Function of the VF: 167*eb527077SLucas Segarra Fernandez 168*eb527077SLucas Segarra Fernandez ============ ====== ====== ====== ====== 169*eb527077SLucas Segarra Fernandez PCI BDF/VF RP0 RP1 RP2 RP3 170*eb527077SLucas Segarra Fernandez ============ ====== ====== ====== ====== 171*eb527077SLucas Segarra Fernandez 0000:6b:0.1 RP 0 RP 1 RP 2 RP 3 172*eb527077SLucas Segarra Fernandez 0000:6b:0.2 RP 4 RP 5 RP 6 RP 7 173*eb527077SLucas Segarra Fernandez 0000:6b:0.3 RP 8 RP 9 RP 10 RP 11 174*eb527077SLucas Segarra Fernandez 0000:6b:0.4 RP 12 RP 13 RP 14 RP 15 175*eb527077SLucas Segarra Fernandez 0000:6b:0.5 RP 16 RP 17 RP 18 RP 19 176*eb527077SLucas Segarra Fernandez 0000:6b:0.6 RP 20 RP 21 RP 22 RP 23 177*eb527077SLucas Segarra Fernandez 0000:6b:0.7 RP 24 RP 25 RP 26 RP 27 178*eb527077SLucas Segarra Fernandez 0000:6b:1.0 RP 28 RP 29 RP 30 RP 31 179*eb527077SLucas Segarra Fernandez 0000:6b:1.1 RP 32 RP 33 RP 34 RP 35 180*eb527077SLucas Segarra Fernandez 0000:6b:1.2 RP 36 RP 37 RP 38 RP 39 181*eb527077SLucas Segarra Fernandez 0000:6b:1.3 RP 40 RP 41 RP 42 RP 43 182*eb527077SLucas Segarra Fernandez 0000:6b:1.4 RP 44 RP 45 RP 46 RP 47 183*eb527077SLucas Segarra Fernandez 0000:6b:1.5 RP 48 RP 49 RP 50 RP 51 184*eb527077SLucas Segarra Fernandez 0000:6b:1.6 RP 52 RP 53 RP 54 RP 55 185*eb527077SLucas Segarra Fernandez 0000:6b:1.7 RP 56 RP 57 RP 58 RP 59 186*eb527077SLucas Segarra Fernandez 0000:6b:2.0 RP 60 RP 61 RP 62 RP 63 187*eb527077SLucas Segarra Fernandez ============ ====== ====== ====== ====== 188*eb527077SLucas Segarra Fernandez 189*eb527077SLucas Segarra Fernandez The mapping is only valid for the BDFs of VFs on the host. 190*eb527077SLucas Segarra Fernandez 191*eb527077SLucas Segarra Fernandez 192*eb527077SLucas Segarra Fernandez The service provided on a ring-pair varies depending on the 193*eb527077SLucas Segarra Fernandez configuration. The configuration for a given device can be 194*eb527077SLucas Segarra Fernandez queried and set using ``cfg_services``. 195*eb527077SLucas Segarra Fernandez See Documentation/ABI/testing/sysfs-driver-qat for details. 196*eb527077SLucas Segarra Fernandez 197*eb527077SLucas Segarra Fernandez The following table reports how ring pairs are mapped to VFs 198*eb527077SLucas Segarra Fernandez on the PF 0000:6b:0.0 configured for `sym;asym` or `asym;sym`: 199*eb527077SLucas Segarra Fernandez 200*eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 201*eb527077SLucas Segarra Fernandez PCI BDF/VF RP0/service RP1/service RP2/service RP3/service 202*eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 203*eb527077SLucas Segarra Fernandez 0000:6b:0.1 RP 0 asym RP 1 sym RP 2 asym RP 3 sym 204*eb527077SLucas Segarra Fernandez 0000:6b:0.2 RP 4 asym RP 5 sym RP 6 asym RP 7 sym 205*eb527077SLucas Segarra Fernandez 0000:6b:0.3 RP 8 asym RP 9 sym RP10 asym RP11 sym 206*eb527077SLucas Segarra Fernandez ... ... ... ... ... 207*eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 208*eb527077SLucas Segarra Fernandez 209*eb527077SLucas Segarra Fernandez All VFs follow the same pattern. 210*eb527077SLucas Segarra Fernandez 211*eb527077SLucas Segarra Fernandez 212*eb527077SLucas Segarra Fernandez The following table reports how ring pairs are mapped to VFs on 213*eb527077SLucas Segarra Fernandez the PF 0000:6b:0.0 configured for `dc`: 214*eb527077SLucas Segarra Fernandez 215*eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 216*eb527077SLucas Segarra Fernandez PCI BDF/VF RP0/service RP1/service RP2/service RP3/service 217*eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 218*eb527077SLucas Segarra Fernandez 0000:6b:0.1 RP 0 dc RP 1 dc RP 2 dc RP 3 dc 219*eb527077SLucas Segarra Fernandez 0000:6b:0.2 RP 4 dc RP 5 dc RP 6 dc RP 7 dc 220*eb527077SLucas Segarra Fernandez 0000:6b:0.3 RP 8 dc RP 9 dc RP10 dc RP11 dc 221*eb527077SLucas Segarra Fernandez ... ... ... ... ... 222*eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 223*eb527077SLucas Segarra Fernandez 224*eb527077SLucas Segarra Fernandez The mapping of a RP to a service can be retrieved using 225*eb527077SLucas Segarra Fernandez ``rp2srv`` from sysfs. 226*eb527077SLucas Segarra Fernandez See Documentation/ABI/testing/sysfs-driver-qat for details. 227*eb527077SLucas Segarra Fernandez 228*eb527077SLucas Segarra Fernandez This attribute is only available for qat_4xxx devices. 229