xref: /linux/Documentation/ABI/testing/debugfs-driver-qat_telemetry (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
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
35*f9c4923cSVijay 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]
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
70*f9c4923cSVijay Sundar Selvamani		util_cnv<N>		utilization of Compression and verify slice N [%]
71*f9c4923cSVijay Sundar Selvamani		exec_cnv<N>		execution count of Compression and verify slice N
72*f9c4923cSVijay Sundar Selvamani		util_dcprz<N>		utilization of Decompression slice N [%]
73*f9c4923cSVijay Sundar Selvamani		exec_dcprz<N>		execution count of Decompression slice N
7469e7649fSLucas Segarra Fernandez		util_pke<N>		utilization of PKE N [%]
7569e7649fSLucas Segarra Fernandez		exec_pke<N>		execution count of PKE N
7669e7649fSLucas Segarra Fernandez		util_ucs<N>		utilization of UCS slice N [%]
7769e7649fSLucas Segarra Fernandez		exec_ucs<N>		execution count of UCS slice N
7869e7649fSLucas Segarra Fernandez		util_wat<N>		utilization of Wireless Authentication
7969e7649fSLucas Segarra Fernandez					slice N [%]
8069e7649fSLucas Segarra Fernandez		exec_wat<N>		execution count of Wireless Authentication
8169e7649fSLucas Segarra Fernandez					slice N
8269e7649fSLucas Segarra Fernandez		util_wcp<N>		utilization of Wireless Cipher slice N [%]
8369e7649fSLucas Segarra Fernandez		exec_wcp<N>		execution count of Wireless Cipher slice N
8469e7649fSLucas Segarra Fernandez		util_cph<N>		utilization of Cipher slice N [%]
8569e7649fSLucas Segarra Fernandez		exec_cph<N>		execution count of Cipher slice N
8669e7649fSLucas Segarra Fernandez		util_ath<N>		utilization of Authentication slice N [%]
8769e7649fSLucas Segarra Fernandez		exec_ath<N>		execution count of Authentication slice N
8869e7649fSLucas Segarra Fernandez		=======================	========================================
8969e7649fSLucas Segarra Fernandez
9069e7649fSLucas Segarra Fernandez		The telemetry report file can be read with the following command::
9169e7649fSLucas Segarra Fernandez
9269e7649fSLucas Segarra Fernandez		  cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/device_data
9369e7649fSLucas Segarra Fernandez
9469e7649fSLucas Segarra Fernandez		If ``control`` is set to 1, only the current values of the
9569e7649fSLucas Segarra Fernandez		counters are displayed::
9669e7649fSLucas Segarra Fernandez
9769e7649fSLucas Segarra Fernandez		  <counter_name> <current>
9869e7649fSLucas Segarra Fernandez
9969e7649fSLucas Segarra Fernandez		If ``control`` is 2, 3 or 4, counters are displayed in the
10069e7649fSLucas Segarra Fernandez		following format::
10169e7649fSLucas Segarra Fernandez
10269e7649fSLucas Segarra Fernandez		  <counter_name> <current> <min> <max> <avg>
10369e7649fSLucas Segarra Fernandez
10469e7649fSLucas Segarra Fernandez		If a device lacks of a specific accelerator, the corresponding
10569e7649fSLucas Segarra Fernandez		attribute is not reported.
10669e7649fSLucas Segarra Fernandez
107*f9c4923cSVijay Sundar Selvamani		This attribute is only available for qat_4xxx and qat_6xxx devices.
108eb527077SLucas Segarra Fernandez
109eb527077SLucas Segarra FernandezWhat:		/sys/kernel/debug/qat_<device>_<BDF>/telemetry/rp_<A/B/C/D>_data
110eb527077SLucas Segarra FernandezDate:		March 2024
111eb527077SLucas Segarra FernandezKernelVersion:	6.8
112eb527077SLucas Segarra FernandezContact:	qat-linux@intel.com
113eb527077SLucas Segarra FernandezDescription:	(RW) Selects up to 4 Ring Pairs (RP) to monitor, one per file,
114eb527077SLucas Segarra Fernandez		and report telemetry counters related to each.
115eb527077SLucas Segarra Fernandez
116eb527077SLucas Segarra Fernandez		Allowed values to write:
117eb527077SLucas Segarra Fernandez		========================
118eb527077SLucas Segarra Fernandez		* 0 to ``<num_rps - 1>``:
119eb527077SLucas Segarra Fernandez		  Ring pair to be monitored. The value of ``num_rps`` can be
120eb527077SLucas Segarra Fernandez		  retrieved through ``/sys/bus/pci/devices/<BDF>/qat/num_rps``.
121eb527077SLucas Segarra Fernandez		  See Documentation/ABI/testing/sysfs-driver-qat.
122eb527077SLucas Segarra Fernandez
123eb527077SLucas Segarra Fernandez		Reads report metrics about performance and utilization of
124eb527077SLucas Segarra Fernandez		the selected RP:
125eb527077SLucas Segarra Fernandez
126eb527077SLucas Segarra Fernandez		=======================	========================================
127eb527077SLucas Segarra Fernandez		Field			Description
128eb527077SLucas Segarra Fernandez		=======================	========================================
129eb527077SLucas Segarra Fernandez		sample_cnt		number of acquisitions of telemetry data
130eb527077SLucas Segarra Fernandez					from the device. Reads are performed
131eb527077SLucas Segarra Fernandez					every 1000 ms
132eb527077SLucas Segarra Fernandez		rp_num			RP number associated with slot <A/B/C/D>
133eb527077SLucas Segarra Fernandez		service_type		service associated to the RP
134eb527077SLucas Segarra Fernandez		pci_trans_cnt		number of PCIe partial transactions
135eb527077SLucas Segarra Fernandez		gp_lat_acc_avg		average get to put latency [ns]
136eb527077SLucas Segarra Fernandez		bw_in			PCIe, write bandwidth [Mbps]
137eb527077SLucas Segarra Fernandez		bw_out			PCIe, read bandwidth [Mbps]
138eb527077SLucas Segarra Fernandez		at_glob_devtlb_hit	Message descriptor DevTLB hit rate
139eb527077SLucas Segarra Fernandez		at_glob_devtlb_miss	Message descriptor DevTLB miss rate
140eb527077SLucas Segarra Fernandez		tl_at_payld_devtlb_hit	Payload DevTLB hit rate
141eb527077SLucas Segarra Fernandez		tl_at_payld_devtlb_miss	Payload DevTLB miss rate
142eb527077SLucas Segarra Fernandez		======================= ========================================
143eb527077SLucas Segarra Fernandez
144eb527077SLucas Segarra Fernandez		Example.
145eb527077SLucas Segarra Fernandez
146eb527077SLucas Segarra Fernandez		Writing the value '32' to the file ``rp_C_data`` starts the
147eb527077SLucas Segarra Fernandez		collection of telemetry metrics for ring pair 32::
148eb527077SLucas Segarra Fernandez
149eb527077SLucas Segarra Fernandez		  echo 32 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data
150eb527077SLucas Segarra Fernandez
151eb527077SLucas Segarra Fernandez		Once a ring pair is selected, statistics can be read accessing
152eb527077SLucas Segarra Fernandez		the file::
153eb527077SLucas Segarra Fernandez
154eb527077SLucas Segarra Fernandez		  cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data
155eb527077SLucas Segarra Fernandez
156eb527077SLucas Segarra Fernandez		If ``control`` is set to 1, only the current values of the
157eb527077SLucas Segarra Fernandez		counters are displayed::
158eb527077SLucas Segarra Fernandez
159eb527077SLucas Segarra Fernandez		  <counter_name> <current>
160eb527077SLucas Segarra Fernandez
161eb527077SLucas Segarra Fernandez		If ``control`` is 2, 3 or 4, counters are displayed in the
162eb527077SLucas Segarra Fernandez		following format::
163eb527077SLucas Segarra Fernandez
164eb527077SLucas Segarra Fernandez		  <counter_name> <current> <min> <max> <avg>
165eb527077SLucas Segarra Fernandez
166eb527077SLucas Segarra Fernandez
167eb527077SLucas Segarra Fernandez		On QAT GEN4 devices there are 64 RPs on a PF, so the allowed
168eb527077SLucas Segarra Fernandez		values are 0..63. This number is absolute to the device.
169eb527077SLucas Segarra Fernandez		If Virtual Functions (VF) are used, the ring pair number can
170eb527077SLucas Segarra Fernandez		be derived from the Bus, Device, Function of the VF:
171eb527077SLucas Segarra Fernandez
172eb527077SLucas Segarra Fernandez		============ ====== ====== ====== ======
173eb527077SLucas Segarra Fernandez		PCI BDF/VF   RP0    RP1    RP2    RP3
174eb527077SLucas Segarra Fernandez		============ ====== ====== ====== ======
175eb527077SLucas Segarra Fernandez		0000:6b:0.1  RP  0  RP  1  RP  2  RP  3
176eb527077SLucas Segarra Fernandez		0000:6b:0.2  RP  4  RP  5  RP  6  RP  7
177eb527077SLucas Segarra Fernandez		0000:6b:0.3  RP  8  RP  9  RP 10  RP 11
178eb527077SLucas Segarra Fernandez		0000:6b:0.4  RP 12  RP 13  RP 14  RP 15
179eb527077SLucas Segarra Fernandez		0000:6b:0.5  RP 16  RP 17  RP 18  RP 19
180eb527077SLucas Segarra Fernandez		0000:6b:0.6  RP 20  RP 21  RP 22  RP 23
181eb527077SLucas Segarra Fernandez		0000:6b:0.7  RP 24  RP 25  RP 26  RP 27
182eb527077SLucas Segarra Fernandez		0000:6b:1.0  RP 28  RP 29  RP 30  RP 31
183eb527077SLucas Segarra Fernandez		0000:6b:1.1  RP 32  RP 33  RP 34  RP 35
184eb527077SLucas Segarra Fernandez		0000:6b:1.2  RP 36  RP 37  RP 38  RP 39
185eb527077SLucas Segarra Fernandez		0000:6b:1.3  RP 40  RP 41  RP 42  RP 43
186eb527077SLucas Segarra Fernandez		0000:6b:1.4  RP 44  RP 45  RP 46  RP 47
187eb527077SLucas Segarra Fernandez		0000:6b:1.5  RP 48  RP 49  RP 50  RP 51
188eb527077SLucas Segarra Fernandez		0000:6b:1.6  RP 52  RP 53  RP 54  RP 55
189eb527077SLucas Segarra Fernandez		0000:6b:1.7  RP 56  RP 57  RP 58  RP 59
190eb527077SLucas Segarra Fernandez		0000:6b:2.0  RP 60  RP 61  RP 62  RP 63
191eb527077SLucas Segarra Fernandez		============ ====== ====== ====== ======
192eb527077SLucas Segarra Fernandez
193eb527077SLucas Segarra Fernandez		The mapping is only valid for the BDFs of VFs on the host.
194eb527077SLucas Segarra Fernandez
195eb527077SLucas Segarra Fernandez
196eb527077SLucas Segarra Fernandez		The service provided on a ring-pair varies depending on the
197eb527077SLucas Segarra Fernandez		configuration. The configuration for a given device can be
198eb527077SLucas Segarra Fernandez		queried and set using ``cfg_services``.
199eb527077SLucas Segarra Fernandez		See Documentation/ABI/testing/sysfs-driver-qat for details.
200eb527077SLucas Segarra Fernandez
201eb527077SLucas Segarra Fernandez		The following table reports how ring pairs are mapped to VFs
202eb527077SLucas Segarra Fernandez		on the PF 0000:6b:0.0 configured for `sym;asym` or `asym;sym`:
203eb527077SLucas Segarra Fernandez
204eb527077SLucas Segarra Fernandez		=========== ============ =========== ============ ===========
205eb527077SLucas Segarra Fernandez		PCI BDF/VF  RP0/service  RP1/service RP2/service  RP3/service
206eb527077SLucas Segarra Fernandez		=========== ============ =========== ============ ===========
207eb527077SLucas Segarra Fernandez		0000:6b:0.1 RP 0 asym    RP 1 sym    RP 2 asym    RP 3 sym
208eb527077SLucas Segarra Fernandez		0000:6b:0.2 RP 4 asym    RP 5 sym    RP 6 asym    RP 7 sym
209eb527077SLucas Segarra Fernandez		0000:6b:0.3 RP 8 asym    RP 9 sym    RP10 asym    RP11 sym
210eb527077SLucas Segarra Fernandez		...         ...          ...         ...          ...
211eb527077SLucas Segarra Fernandez		=========== ============ =========== ============ ===========
212eb527077SLucas Segarra Fernandez
213eb527077SLucas Segarra Fernandez		All VFs follow the same pattern.
214eb527077SLucas Segarra Fernandez
215eb527077SLucas Segarra Fernandez
216eb527077SLucas Segarra Fernandez		The following table reports how ring pairs are mapped to VFs on
217eb527077SLucas Segarra Fernandez		the PF 0000:6b:0.0 configured for `dc`:
218eb527077SLucas Segarra Fernandez
219eb527077SLucas Segarra Fernandez		=========== ============ =========== ============ ===========
220eb527077SLucas Segarra Fernandez		PCI BDF/VF  RP0/service  RP1/service RP2/service  RP3/service
221eb527077SLucas Segarra Fernandez		=========== ============ =========== ============ ===========
222eb527077SLucas Segarra Fernandez		0000:6b:0.1 RP 0 dc      RP 1 dc     RP 2 dc      RP 3 dc
223eb527077SLucas Segarra Fernandez		0000:6b:0.2 RP 4 dc      RP 5 dc     RP 6 dc      RP 7 dc
224eb527077SLucas Segarra Fernandez		0000:6b:0.3 RP 8 dc      RP 9 dc     RP10 dc      RP11 dc
225eb527077SLucas Segarra Fernandez		...         ...          ...         ...          ...
226eb527077SLucas Segarra Fernandez		=========== ============ =========== ============ ===========
227eb527077SLucas Segarra Fernandez
228eb527077SLucas Segarra Fernandez		The mapping of a RP to a service can be retrieved using
229eb527077SLucas Segarra Fernandez		``rp2srv`` from sysfs.
230eb527077SLucas Segarra Fernandez		See Documentation/ABI/testing/sysfs-driver-qat for details.
231eb527077SLucas Segarra Fernandez
232*f9c4923cSVijay Sundar Selvamani		This attribute is only available for qat_4xxx and qat_6xxx devices.
233