← Documents Documentation/ABI/testing/debugfs-driver-qat_telemetry GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

Intel QAT telemetry debugfs ABI

Intel QAT telemetry enable·sample aggregation mode, device-wide performance·utilization counters, 최대 네 Ring Pair 선택과 counters, GEN4 VF BDF·RP·service mapping을 설명합니다.

Source pathDocumentation/ABI/testing/debugfs-driver-qat_telemetry
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Telemetry control과 sample aggregation

debugfs-driver-qat_telemetry:1-35

Telemetry를 끄거나 켜고 2·3·4 sample circular buffer에서 각 counter의 minimum·maximum·average를 계산하도록 설정합니다.

Device telemetry counters

debugfs-driver-qat_telemetry:37-134

1초마다 획득하는 PCIe·latency·bandwidth·Address Translator·accelerator slice utilization·execution·command queue timing counters를 device 단위로 보고합니다.

Ring Pair selection과 telemetry counters

debugfs-driver-qat_telemetry:136-191

A·B·C·D 네 slot에서 각각 하나의 Ring Pair를 선택하고 해당 service, PCIe·latency·bandwidth와 DevTLB hit·miss counters를 보고합니다.

GEN4 VF BDF, Ring Pair, service mapping

debugfs-driver-qat_telemetry:194-259

GEN4 PF의 64개 absolute Ring Pair 번호를 host VF BDF에 매핑하고 sym·asym 또는 dc configuration에서 각 RP가 제공하는 service pattern을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

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

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Telemetry control과 circular sample aggregation

1-35
항목내용
What/sys/kernel/debug/qat_<device>_<BDF>/telemetry/control
Date2024년 3월
KernelVersion6.8
Contactqat-linux@intel.com
권한RW

Telemetry metrics reporting을 enable 또는 disable합니다.

Write 값동작
0Telemetry disable
1Telemetry enable, 현재 counter 값 보고
2, 3, 4Telemetry enable. 각각 2, 3, 4개 sample에 대해 counter별 minimum, maximum, average 계산
Read 값상태
1..4Telemetry가 enable되어 실행 중
0Telemetry가 disable됨

3을 쓰면 telemetry collection을 시작합니다. 1초마다 sample을 수집해 크기 3인 circular buffer에 저장하고 각 counter의 minimum, maximum, average를 계산합니다. Enable 뒤에는 device_data에서 counters를 읽습니다.

echo 3 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control

0을 쓰면 telemetry collection을 중지합니다.

echo 0 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control

이 attribute는 qat_4xxx와 qat_6xxx devices에서만 제공합니다.

QAT telemetry sample mode
control = 0Telemetry stopped
control = 11-second acquisitionCurrent value only
control = 2 / 3 / 41-second acquisitionCircular buffer size 2 / 3 / 4Current + min + max + avg

Control 값이 sampling과 출력 column을 결정한다. Mode 2~4는 같은 크기의 circular buffer에서 min·max·avg를 계산한다.

Device acquisition, PCIe, latency, AT counters

37-64
항목내용
What/sys/kernel/debug/qat_<device>_<BDF>/telemetry/device_data
Date2024년 3월
KernelVersion6.8
Contactqat-linux@intel.com
권한RO

QAT device의 performance와 utilization metrics를 보고합니다.

Field설명
sample_cntDevice에서 telemetry data를 획득한 횟수. 1000 ms마다 읽음
pci_trans_cntPCIe partial transaction 수
max_rd_lat기록된 최대 read latency, 단위 ns. 모든 read operation이 대상이 될 수 있음
rd_lat_acc_avg평균 read latency, 단위 ns
max_gp_lat최대 get-to-put latency, 단위 ns. AE0에서만 sample
gp_lat_acc_avg평균 get-to-put latency, 단위 ns
bw_inPCIe write bandwidth, 단위 Mbps
bw_outPCIe read bandwidth, 단위 Mbps
re_acc_avg평균 ring empty time, 단위 ns
at_page_req_lat_avgAddress Translator(AT) 평균 page request latency, 단위 ns
at_trans_lat_avgAT 평균 page translation latency, 단위 ns
at_max_tlb_usedAT가 사용한 최대 uTLB 수

Accelerator slice utilization과 execution counters

65-88
Field설명
util_cpr<N>Compression slice N utilization, 단위 %
exec_cpr<N>Compression slice N execution count
util_xlt<N>Translator slice N utilization, 단위 %
exec_xlt<N>Translator slice N execution count
util_dcpr<N>Decompression slice N utilization, 단위 %
exec_dcpr<N>Decompression slice N execution count
util_cnv<N>Compression and Verify slice N utilization, 단위 %
exec_cnv<N>Compression and Verify slice N execution count
util_dcprz<N>Decompression slice N utilization, 단위 %
exec_dcprz<N>Decompression slice N execution count
util_pke<N>PKE N utilization, 단위 %
exec_pke<N>PKE N execution count
util_ucs<N>UCS slice N utilization, 단위 %
exec_ucs<N>UCS slice N execution count
util_wat<N>Wireless Authentication slice N utilization, 단위 %
exec_wat<N>Wireless Authentication slice N execution count
util_wcp<N>Wireless Cipher slice N utilization, 단위 %
exec_wcp<N>Wireless Cipher slice N execution count
util_cph<N>Cipher slice N utilization, 단위 %
exec_cph<N>Cipher slice N execution count
util_ath<N>Authentication slice N utilization, 단위 %
exec_ath<N>Authentication slice N execution count

Command queue ownership timing counters

89-115
Field설명
cmdq_wait_cnv<N>cmdq N이 Compression and Verify slice ownership을 얻기까지 기다린 시간
cmdq_exec_cnv<N>cmdq N이 ownership을 가진 동안의 Compression and Verify slice execution time
cmdq_drain_cnv<N>cmdq N이 Compression and Verify slice ownership을 release하는 데 걸린 시간
cmdq_wait_dcprz<N>cmdq N이 Decompression slice N ownership을 얻기까지 기다린 시간
cmdq_exec_dcprz<N>cmdq N이 ownership을 가진 동안의 Decompression slice execution time
cmdq_drain_dcprz<N>cmdq N이 Decompression slice ownership을 release하는 데 걸린 시간
cmdq_wait_pke<N>cmdq N이 PKE slice ownership을 얻기까지 기다린 시간
cmdq_exec_pke<N>cmdq N이 ownership을 가진 동안의 PKE slice execution time
cmdq_drain_pke<N>cmdq N이 PKE slice ownership을 release하는 데 걸린 시간
cmdq_wait_ucs<N>cmdq N이 UCS slice ownership을 얻기까지 기다린 시간
cmdq_exec_ucs<N>cmdq N이 ownership을 가진 동안의 UCS slice execution time
cmdq_drain_ucs<N>cmdq N이 UCS slice ownership을 release하는 데 걸린 시간
cmdq_wait_ath<N>cmdq N이 Authentication slice ownership을 얻기까지 기다린 시간
cmdq_exec_ath<N>cmdq N이 ownership을 가진 동안의 Authentication slice execution time
cmdq_drain_ath<N>cmdq N이 Authentication slice ownership을 release하는 데 걸린 시간

Device telemetry 출력 형식

117-134

Telemetry report는 다음 명령으로 읽습니다.

cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/device_data

control이 1이면 counters의 현재 값만 다음 형식으로 표시합니다.

<counter_name> <current>

control이 2, 3, 4이면 다음 형식으로 표시합니다.

<counter_name> <current> <min> <max> <avg>

Device에 특정 accelerator가 없으면 해당 attribute를 보고하지 않습니다. device_data는 qat_4xxx와 qat_6xxx devices에서만 제공합니다.

Ring Pair 선택과 counters

136-169
항목내용
What/sys/kernel/debug/qat_<device>_<BDF>/telemetry/rp_<A/B/C/D>_data
Date2024년 3월
KernelVersion6.8
Contactqat-linux@intel.com
권한RW

A, B, C, D 각 file에서 하나씩, 최대 네 Ring Pairs(RP)를 선택해 관련 telemetry counters를 보고합니다.

쓸 수 있는 값은 0부터 num_rps - 1까지입니다. num_rps는 /sys/bus/pci/devices/<BDF>/qat/num_rps에서 읽습니다. 자세한 내용은 Documentation/ABI/testing/sysfs-driver-qat를 참조합니다.

Field설명
sample_cntDevice에서 telemetry data를 획득한 횟수. 1000 ms마다 읽음
rp_numSlot A/B/C/D와 연결된 RP number
service_typeRP와 연결된 service
pci_trans_cntPCIe partial transaction 수
gp_lat_acc_avg평균 get-to-put latency, 단위 ns
bw_inPCIe write bandwidth, 단위 Mbps
bw_outPCIe read bandwidth, 단위 Mbps
at_glob_devtlb_hitMessage descriptor DevTLB hit rate
at_glob_devtlb_missMessage descriptor DevTLB miss rate
tl_at_payld_devtlb_hitPayload DevTLB hit rate
tl_at_payld_devtlb_missPayload DevTLB miss rate

Ring Pair 32 선택과 출력 형식

171-191

rp_C_data에 32를 쓰면 Ring Pair 32의 telemetry collection을 시작합니다.

echo 32 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data

RP를 선택한 뒤 같은 file에서 statistics를 읽습니다.

cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data

control이 1이면 현재 값만 표시합니다.

<counter_name> <current>

control이 2, 3, 4이면 current, min, max, avg를 표시합니다.

<counter_name> <current> <min> <max> <avg>
네 telemetry slot에서 Ring Pair 선택
RP number 0..num_rps-1rp_A_dataSlot A counters
RP number 0..num_rps-1rp_B_dataSlot B counters
RP number 0..num_rps-1rp_C_dataSlot C counters
RP number 0..num_rps-1rp_D_dataSlot D counters
telemetry/controlCurrent only or aggregate columnsAll selected slots

각 A/B/C/D file에 절대 RP 번호 하나를 써서 최대 네 RP를 동시에 관찰하며, 출력 aggregation 형식은 공통 control 값이 결정한다.

GEN4 host VF BDF와 64 Ring Pairs

194-220

QAT GEN4 device의 PF에는 64개 RP가 있으므로 허용값은 0..63입니다. 이 번호는 device에 대한 absolute number입니다. VF를 사용하면 VF의 Bus, Device, Function에서 Ring Pair number를 다음과 같이 구할 수 있습니다.

PCI BDF/VFRP0RP1RP2RP3
0000:6b:0.1RP 0RP 1RP 2RP 3
0000:6b:0.2RP 4RP 5RP 6RP 7
0000:6b:0.3RP 8RP 9RP 10RP 11
0000:6b:0.4RP 12RP 13RP 14RP 15
0000:6b:0.5RP 16RP 17RP 18RP 19
0000:6b:0.6RP 20RP 21RP 22RP 23
0000:6b:0.7RP 24RP 25RP 26RP 27
0000:6b:1.0RP 28RP 29RP 30RP 31
0000:6b:1.1RP 32RP 33RP 34RP 35
0000:6b:1.2RP 36RP 37RP 38RP 39
0000:6b:1.3RP 40RP 41RP 42RP 43
0000:6b:1.4RP 44RP 45RP 46RP 47
0000:6b:1.5RP 48RP 49RP 50RP 51
0000:6b:1.6RP 52RP 53RP 54RP 55
0000:6b:1.7RP 56RP 57RP 58RP 59
0000:6b:2.0RP 60RP 61RP 62RP 63

이 mapping은 host에 있는 VFs의 BDF에만 유효합니다.

Ring Pair service mapping

223-259

Ring Pair가 제공하는 service는 configuration에 따라 달라집니다. Device configuration은 cfg_services로 조회하고 설정할 수 있습니다. 자세한 내용은 Documentation/ABI/testing/sysfs-driver-qat를 참조합니다.

PF 0000:6b:0.0을 sym;asym 또는 asym;sym으로 구성했을 때 VF의 Ring Pair mapping은 다음과 같습니다.

PCI BDF/VFRP0/serviceRP1/serviceRP2/serviceRP3/service
0000:6b:0.1RP 0 asymRP 1 symRP 2 asymRP 3 sym
0000:6b:0.2RP 4 asymRP 5 symRP 6 asymRP 7 sym
0000:6b:0.3RP 8 asymRP 9 symRP 10 asymRP 11 sym
...............

모든 VFs가 같은 pattern을 따릅니다.

PF 0000:6b:0.0을 dc로 구성했을 때 mapping은 다음과 같습니다.

PCI BDF/VFRP0/serviceRP1/serviceRP2/serviceRP3/service
0000:6b:0.1RP 0 dcRP 1 dcRP 2 dcRP 3 dc
0000:6b:0.2RP 4 dcRP 5 dcRP 6 dcRP 7 dc
0000:6b:0.3RP 8 dcRP 9 dcRP 10 dcRP 11 dc
...............

RP에서 service로의 mapping은 sysfs의 rp2srv로 조회할 수 있습니다. 자세한 내용은 Documentation/ABI/testing/sysfs-driver-qat를 참조합니다.

rp_<A/B/C/D>_data attribute는 qat_4xxx와 qat_6xxx devices에서만 제공합니다.