Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: qat - add ring buffer idle telemetry counter for GEN6

Add a new performance counter that measures the average ring buffer idle
duration.

This metric is now included in the telemetry counters exposed via
debugfs for QAT GEN6 devices.

Update the documentation to reflect the new idle duration counter

Co-developed-by: George Abraham P <george.abraham.p@intel.com>
Signed-off-by: George Abraham P <george.abraham.p@intel.com>
Signed-off-by: Vijay Sundar Selvamani <vijay.sundar.selvamani@intel.com>
Signed-off-by: Suman Kumar Chakraborty <suman.kumar.chakraborty@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Vijay Sundar Selvamani and committed by
Herbert Xu
9ea349e4 81109696

+10
+1
Documentation/ABI/testing/debugfs-driver-qat_telemetry
··· 57 57 gp_lat_acc_avg average get to put latency [ns] 58 58 bw_in PCIe, write bandwidth [Mbps] 59 59 bw_out PCIe, read bandwidth [Mbps] 60 + re_acc_avg average ring empty time [ns] 60 61 at_page_req_lat_avg Address Translator(AT), average page 61 62 request latency [ns] 62 63 at_trans_lat_avg AT, average page translation latency [ns]
+8
drivers/crypto/intel/qat/qat_common/adf_gen6_tl.c
··· 57 57 /* Maximum uTLB used. */ 58 58 ADF_TL_COUNTER(AT_MAX_UTLB_USED_NAME, ADF_TL_SIMPLE_COUNT, 59 59 ADF_GEN6_TL_DEV_REG_OFF(reg_tl_at_max_utlb_used)), 60 + /* Ring Empty average[ns] across all rings */ 61 + ADF_TL_COUNTER_LATENCY(RE_ACC_NAME, ADF_TL_COUNTER_NS_AVG, 62 + ADF_GEN6_TL_DEV_REG_OFF(reg_tl_re_acc), 63 + ADF_GEN6_TL_DEV_REG_OFF(reg_tl_re_cnt)), 60 64 }; 61 65 62 66 /* Accelerator utilization counters */ ··· 126 122 /* Payload DevTLB miss rate. */ 127 123 ADF_TL_COUNTER(AT_PAYLD_DTLB_MISS_NAME, ADF_TL_SIMPLE_COUNT, 128 124 ADF_GEN6_TL_RP_REG_OFF(reg_tl_at_payld_devtlb_miss)), 125 + /* Ring Empty average[ns]. */ 126 + ADF_TL_COUNTER_LATENCY(RE_ACC_NAME, ADF_TL_COUNTER_NS_AVG, 127 + ADF_GEN6_TL_RP_REG_OFF(reg_tl_re_acc), 128 + ADF_GEN6_TL_RP_REG_OFF(reg_tl_re_cnt)), 129 129 }; 130 130 131 131 void adf_gen6_init_tl_data(struct adf_tl_hw_data *tl_data)
+1
drivers/crypto/intel/qat/qat_common/adf_tl_debugfs.h
··· 17 17 #define LAT_ACC_NAME "gp_lat_acc_avg" 18 18 #define BW_IN_NAME "bw_in" 19 19 #define BW_OUT_NAME "bw_out" 20 + #define RE_ACC_NAME "re_acc_avg" 20 21 #define PAGE_REQ_LAT_NAME "at_page_req_lat_avg" 21 22 #define AT_TRANS_LAT_NAME "at_trans_lat_avg" 22 23 #define AT_MAX_UTLB_USED_NAME "at_max_tlb_used"