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 35f9c4923cSVijay Sundar Selvamani This attribute is only available for qat_4xxx and qat_6xxx 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] 609ea349e4SVijay Sundar Selvamani re_acc_avg average ring empty time [ns] 6169e7649fSLucas Segarra Fernandez at_page_req_lat_avg Address Translator(AT), average page 6269e7649fSLucas Segarra Fernandez request latency [ns] 6369e7649fSLucas Segarra Fernandez at_trans_lat_avg AT, average page translation latency [ns] 6469e7649fSLucas Segarra Fernandez at_max_tlb_used AT, maximum uTLB used 6569e7649fSLucas Segarra Fernandez util_cpr<N> utilization of Compression slice N [%] 6669e7649fSLucas Segarra Fernandez exec_cpr<N> execution count of Compression slice N 6769e7649fSLucas Segarra Fernandez util_xlt<N> utilization of Translator slice N [%] 6869e7649fSLucas Segarra Fernandez exec_xlt<N> execution count of Translator slice N 6969e7649fSLucas Segarra Fernandez util_dcpr<N> utilization of Decompression slice N [%] 7069e7649fSLucas Segarra Fernandez exec_dcpr<N> execution count of Decompression slice N 71f9c4923cSVijay Sundar Selvamani util_cnv<N> utilization of Compression and verify slice N [%] 72f9c4923cSVijay Sundar Selvamani exec_cnv<N> execution count of Compression and verify slice N 73f9c4923cSVijay Sundar Selvamani util_dcprz<N> utilization of Decompression slice N [%] 74f9c4923cSVijay Sundar Selvamani exec_dcprz<N> execution count of Decompression slice N 7569e7649fSLucas Segarra Fernandez util_pke<N> utilization of PKE N [%] 7669e7649fSLucas Segarra Fernandez exec_pke<N> execution count of PKE N 7769e7649fSLucas Segarra Fernandez util_ucs<N> utilization of UCS slice N [%] 7869e7649fSLucas Segarra Fernandez exec_ucs<N> execution count of UCS slice N 7969e7649fSLucas Segarra Fernandez util_wat<N> utilization of Wireless Authentication 8069e7649fSLucas Segarra Fernandez slice N [%] 8169e7649fSLucas Segarra Fernandez exec_wat<N> execution count of Wireless Authentication 8269e7649fSLucas Segarra Fernandez slice N 8369e7649fSLucas Segarra Fernandez util_wcp<N> utilization of Wireless Cipher slice N [%] 8469e7649fSLucas Segarra Fernandez exec_wcp<N> execution count of Wireless Cipher slice N 8569e7649fSLucas Segarra Fernandez util_cph<N> utilization of Cipher slice N [%] 8669e7649fSLucas Segarra Fernandez exec_cph<N> execution count of Cipher slice N 8769e7649fSLucas Segarra Fernandez util_ath<N> utilization of Authentication slice N [%] 8869e7649fSLucas Segarra Fernandez exec_ath<N> execution count of Authentication slice N 89*3ed63344SVijay Sundar Selvamani cmdq_wait_cnv<N> wait time for cmdq N to get Compression and verify 90*3ed63344SVijay Sundar Selvamani slice ownership 91*3ed63344SVijay Sundar Selvamani cmdq_exec_cnv<N> Compression and verify slice execution time while 92*3ed63344SVijay Sundar Selvamani owned by cmdq N 93*3ed63344SVijay Sundar Selvamani cmdq_drain_cnv<N> time taken for cmdq N to release Compression and 94*3ed63344SVijay Sundar Selvamani verify slice ownership 95*3ed63344SVijay Sundar Selvamani cmdq_wait_dcprz<N> wait time for cmdq N to get Decompression 96*3ed63344SVijay Sundar Selvamani slice N ownership 97*3ed63344SVijay Sundar Selvamani cmdq_exec_dcprz<N> Decompression slice execution time while 98*3ed63344SVijay Sundar Selvamani owned by cmdq N 99*3ed63344SVijay Sundar Selvamani cmdq_drain_dcprz<N> time taken for cmdq N to release Decompression 100*3ed63344SVijay Sundar Selvamani slice ownership 101*3ed63344SVijay Sundar Selvamani cmdq_wait_pke<N> wait time for cmdq N to get PKE slice ownership 102*3ed63344SVijay Sundar Selvamani cmdq_exec_pke<N> PKE slice execution time while owned by cmdq N 103*3ed63344SVijay Sundar Selvamani cmdq_drain_pke<N> time taken for cmdq N to release PKE slice 104*3ed63344SVijay Sundar Selvamani ownership 105*3ed63344SVijay Sundar Selvamani cmdq_wait_ucs<N> wait time for cmdq N to get UCS slice ownership 106*3ed63344SVijay Sundar Selvamani cmdq_exec_ucs<N> UCS slice execution time while owned by cmdq N 107*3ed63344SVijay Sundar Selvamani cmdq_drain_ucs<N> time taken for cmdq N to release UCS slice 108*3ed63344SVijay Sundar Selvamani ownership 109*3ed63344SVijay Sundar Selvamani cmdq_wait_ath<N> wait time for cmdq N to get Authentication slice 110*3ed63344SVijay Sundar Selvamani ownership 111*3ed63344SVijay Sundar Selvamani cmdq_exec_ath<N> Authentication slice execution time while owned 112*3ed63344SVijay Sundar Selvamani by cmdq N 113*3ed63344SVijay Sundar Selvamani cmdq_drain_ath<N> time taken for cmdq N to release Authentication 114*3ed63344SVijay Sundar Selvamani slice ownership 11569e7649fSLucas Segarra Fernandez ======================= ======================================== 11669e7649fSLucas Segarra Fernandez 11769e7649fSLucas Segarra Fernandez The telemetry report file can be read with the following command:: 11869e7649fSLucas Segarra Fernandez 11969e7649fSLucas Segarra Fernandez cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/device_data 12069e7649fSLucas Segarra Fernandez 12169e7649fSLucas Segarra Fernandez If ``control`` is set to 1, only the current values of the 12269e7649fSLucas Segarra Fernandez counters are displayed:: 12369e7649fSLucas Segarra Fernandez 12469e7649fSLucas Segarra Fernandez <counter_name> <current> 12569e7649fSLucas Segarra Fernandez 12669e7649fSLucas Segarra Fernandez If ``control`` is 2, 3 or 4, counters are displayed in the 12769e7649fSLucas Segarra Fernandez following format:: 12869e7649fSLucas Segarra Fernandez 12969e7649fSLucas Segarra Fernandez <counter_name> <current> <min> <max> <avg> 13069e7649fSLucas Segarra Fernandez 13169e7649fSLucas Segarra Fernandez If a device lacks of a specific accelerator, the corresponding 13269e7649fSLucas Segarra Fernandez attribute is not reported. 13369e7649fSLucas Segarra Fernandez 134f9c4923cSVijay Sundar Selvamani This attribute is only available for qat_4xxx and qat_6xxx devices. 135eb527077SLucas Segarra Fernandez 136eb527077SLucas Segarra FernandezWhat: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/rp_<A/B/C/D>_data 137eb527077SLucas Segarra FernandezDate: March 2024 138eb527077SLucas Segarra FernandezKernelVersion: 6.8 139eb527077SLucas Segarra FernandezContact: qat-linux@intel.com 140eb527077SLucas Segarra FernandezDescription: (RW) Selects up to 4 Ring Pairs (RP) to monitor, one per file, 141eb527077SLucas Segarra Fernandez and report telemetry counters related to each. 142eb527077SLucas Segarra Fernandez 143eb527077SLucas Segarra Fernandez Allowed values to write: 144eb527077SLucas Segarra Fernandez ======================== 145eb527077SLucas Segarra Fernandez * 0 to ``<num_rps - 1>``: 146eb527077SLucas Segarra Fernandez Ring pair to be monitored. The value of ``num_rps`` can be 147eb527077SLucas Segarra Fernandez retrieved through ``/sys/bus/pci/devices/<BDF>/qat/num_rps``. 148eb527077SLucas Segarra Fernandez See Documentation/ABI/testing/sysfs-driver-qat. 149eb527077SLucas Segarra Fernandez 150eb527077SLucas Segarra Fernandez Reads report metrics about performance and utilization of 151eb527077SLucas Segarra Fernandez the selected RP: 152eb527077SLucas Segarra Fernandez 153eb527077SLucas Segarra Fernandez ======================= ======================================== 154eb527077SLucas Segarra Fernandez Field Description 155eb527077SLucas Segarra Fernandez ======================= ======================================== 156eb527077SLucas Segarra Fernandez sample_cnt number of acquisitions of telemetry data 157eb527077SLucas Segarra Fernandez from the device. Reads are performed 158eb527077SLucas Segarra Fernandez every 1000 ms 159eb527077SLucas Segarra Fernandez rp_num RP number associated with slot <A/B/C/D> 160eb527077SLucas Segarra Fernandez service_type service associated to the RP 161eb527077SLucas Segarra Fernandez pci_trans_cnt number of PCIe partial transactions 162eb527077SLucas Segarra Fernandez gp_lat_acc_avg average get to put latency [ns] 163eb527077SLucas Segarra Fernandez bw_in PCIe, write bandwidth [Mbps] 164eb527077SLucas Segarra Fernandez bw_out PCIe, read bandwidth [Mbps] 165eb527077SLucas Segarra Fernandez at_glob_devtlb_hit Message descriptor DevTLB hit rate 166eb527077SLucas Segarra Fernandez at_glob_devtlb_miss Message descriptor DevTLB miss rate 167eb527077SLucas Segarra Fernandez tl_at_payld_devtlb_hit Payload DevTLB hit rate 168eb527077SLucas Segarra Fernandez tl_at_payld_devtlb_miss Payload DevTLB miss rate 169eb527077SLucas Segarra Fernandez ======================= ======================================== 170eb527077SLucas Segarra Fernandez 171eb527077SLucas Segarra Fernandez Example. 172eb527077SLucas Segarra Fernandez 173eb527077SLucas Segarra Fernandez Writing the value '32' to the file ``rp_C_data`` starts the 174eb527077SLucas Segarra Fernandez collection of telemetry metrics for ring pair 32:: 175eb527077SLucas Segarra Fernandez 176eb527077SLucas Segarra Fernandez echo 32 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data 177eb527077SLucas Segarra Fernandez 178eb527077SLucas Segarra Fernandez Once a ring pair is selected, statistics can be read accessing 179eb527077SLucas Segarra Fernandez the file:: 180eb527077SLucas Segarra Fernandez 181eb527077SLucas Segarra Fernandez cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data 182eb527077SLucas Segarra Fernandez 183eb527077SLucas Segarra Fernandez If ``control`` is set to 1, only the current values of the 184eb527077SLucas Segarra Fernandez counters are displayed:: 185eb527077SLucas Segarra Fernandez 186eb527077SLucas Segarra Fernandez <counter_name> <current> 187eb527077SLucas Segarra Fernandez 188eb527077SLucas Segarra Fernandez If ``control`` is 2, 3 or 4, counters are displayed in the 189eb527077SLucas Segarra Fernandez following format:: 190eb527077SLucas Segarra Fernandez 191eb527077SLucas Segarra Fernandez <counter_name> <current> <min> <max> <avg> 192eb527077SLucas Segarra Fernandez 193eb527077SLucas Segarra Fernandez 194eb527077SLucas Segarra Fernandez On QAT GEN4 devices there are 64 RPs on a PF, so the allowed 195eb527077SLucas Segarra Fernandez values are 0..63. This number is absolute to the device. 196eb527077SLucas Segarra Fernandez If Virtual Functions (VF) are used, the ring pair number can 197eb527077SLucas Segarra Fernandez be derived from the Bus, Device, Function of the VF: 198eb527077SLucas Segarra Fernandez 199eb527077SLucas Segarra Fernandez ============ ====== ====== ====== ====== 200eb527077SLucas Segarra Fernandez PCI BDF/VF RP0 RP1 RP2 RP3 201eb527077SLucas Segarra Fernandez ============ ====== ====== ====== ====== 202eb527077SLucas Segarra Fernandez 0000:6b:0.1 RP 0 RP 1 RP 2 RP 3 203eb527077SLucas Segarra Fernandez 0000:6b:0.2 RP 4 RP 5 RP 6 RP 7 204eb527077SLucas Segarra Fernandez 0000:6b:0.3 RP 8 RP 9 RP 10 RP 11 205eb527077SLucas Segarra Fernandez 0000:6b:0.4 RP 12 RP 13 RP 14 RP 15 206eb527077SLucas Segarra Fernandez 0000:6b:0.5 RP 16 RP 17 RP 18 RP 19 207eb527077SLucas Segarra Fernandez 0000:6b:0.6 RP 20 RP 21 RP 22 RP 23 208eb527077SLucas Segarra Fernandez 0000:6b:0.7 RP 24 RP 25 RP 26 RP 27 209eb527077SLucas Segarra Fernandez 0000:6b:1.0 RP 28 RP 29 RP 30 RP 31 210eb527077SLucas Segarra Fernandez 0000:6b:1.1 RP 32 RP 33 RP 34 RP 35 211eb527077SLucas Segarra Fernandez 0000:6b:1.2 RP 36 RP 37 RP 38 RP 39 212eb527077SLucas Segarra Fernandez 0000:6b:1.3 RP 40 RP 41 RP 42 RP 43 213eb527077SLucas Segarra Fernandez 0000:6b:1.4 RP 44 RP 45 RP 46 RP 47 214eb527077SLucas Segarra Fernandez 0000:6b:1.5 RP 48 RP 49 RP 50 RP 51 215eb527077SLucas Segarra Fernandez 0000:6b:1.6 RP 52 RP 53 RP 54 RP 55 216eb527077SLucas Segarra Fernandez 0000:6b:1.7 RP 56 RP 57 RP 58 RP 59 217eb527077SLucas Segarra Fernandez 0000:6b:2.0 RP 60 RP 61 RP 62 RP 63 218eb527077SLucas Segarra Fernandez ============ ====== ====== ====== ====== 219eb527077SLucas Segarra Fernandez 220eb527077SLucas Segarra Fernandez The mapping is only valid for the BDFs of VFs on the host. 221eb527077SLucas Segarra Fernandez 222eb527077SLucas Segarra Fernandez 223eb527077SLucas Segarra Fernandez The service provided on a ring-pair varies depending on the 224eb527077SLucas Segarra Fernandez configuration. The configuration for a given device can be 225eb527077SLucas Segarra Fernandez queried and set using ``cfg_services``. 226eb527077SLucas Segarra Fernandez See Documentation/ABI/testing/sysfs-driver-qat for details. 227eb527077SLucas Segarra Fernandez 228eb527077SLucas Segarra Fernandez The following table reports how ring pairs are mapped to VFs 229eb527077SLucas Segarra Fernandez on the PF 0000:6b:0.0 configured for `sym;asym` or `asym;sym`: 230eb527077SLucas Segarra Fernandez 231eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 232eb527077SLucas Segarra Fernandez PCI BDF/VF RP0/service RP1/service RP2/service RP3/service 233eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 234eb527077SLucas Segarra Fernandez 0000:6b:0.1 RP 0 asym RP 1 sym RP 2 asym RP 3 sym 235eb527077SLucas Segarra Fernandez 0000:6b:0.2 RP 4 asym RP 5 sym RP 6 asym RP 7 sym 236eb527077SLucas Segarra Fernandez 0000:6b:0.3 RP 8 asym RP 9 sym RP10 asym RP11 sym 237eb527077SLucas Segarra Fernandez ... ... ... ... ... 238eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 239eb527077SLucas Segarra Fernandez 240eb527077SLucas Segarra Fernandez All VFs follow the same pattern. 241eb527077SLucas Segarra Fernandez 242eb527077SLucas Segarra Fernandez 243eb527077SLucas Segarra Fernandez The following table reports how ring pairs are mapped to VFs on 244eb527077SLucas Segarra Fernandez the PF 0000:6b:0.0 configured for `dc`: 245eb527077SLucas Segarra Fernandez 246eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 247eb527077SLucas Segarra Fernandez PCI BDF/VF RP0/service RP1/service RP2/service RP3/service 248eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 249eb527077SLucas Segarra Fernandez 0000:6b:0.1 RP 0 dc RP 1 dc RP 2 dc RP 3 dc 250eb527077SLucas Segarra Fernandez 0000:6b:0.2 RP 4 dc RP 5 dc RP 6 dc RP 7 dc 251eb527077SLucas Segarra Fernandez 0000:6b:0.3 RP 8 dc RP 9 dc RP10 dc RP11 dc 252eb527077SLucas Segarra Fernandez ... ... ... ... ... 253eb527077SLucas Segarra Fernandez =========== ============ =========== ============ =========== 254eb527077SLucas Segarra Fernandez 255eb527077SLucas Segarra Fernandez The mapping of a RP to a service can be retrieved using 256eb527077SLucas Segarra Fernandez ``rp2srv`` from sysfs. 257eb527077SLucas Segarra Fernandez See Documentation/ABI/testing/sysfs-driver-qat for details. 258eb527077SLucas Segarra Fernandez 259f9c4923cSVijay Sundar Selvamani This attribute is only available for qat_4xxx and qat_6xxx devices. 260