← Documents Documentation/ABI/stable/sysfs-driver-dma-idxd GitHub 원문 ↗

Linux 6.18.37 · ABI / stable

Intel IDXD DMA stable sysfs ABI

Intel DSA·IAA device의 capability와 state, group·engine·work queue resource 구성, fault policy 및 application별 Completion Record fault 통계를 설명합니다.

Source pathDocumentation/ABI/stable/sysfs-driver-dma-idxd
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

DSA device capability와 limit

sysfs-driver-dma-idxd:1-89

Hardware version, character device 번호, batch·transfer·queue·engine·group·read-buffer 한계와 PASID 지원을 제공합니다.

Device state와 configuration object

sysfs-driver-dma-idxd:90-153

Device enable state, 하위 group·engine·work queue, read-buffer limit, command status, IAA capability와 event log 크기를 다룹니다.

Work queue configuration

sysfs-driver-dma-idxd:155-277

Work queue의 group, size, user·kernel type, mode, priority, portal threshold, transfer·batch limit, ATS·PRS·fault policy와 operation mask를 설명합니다.

Engine과 group resource

sysfs-driver-dma-idxd:279-336

Engine의 group 연결과 group별 read buffer quota 및 descriptor progress limit을 제공합니다.

Application file context 통계

sysfs-driver-dma-idxd:338-361

Work queue character device를 연 application별 Completion Record fault와 PID를 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 What: /sys/bus/dsa/devices/dsa<m>/version
2 Date: Apr 15, 2020
3 KernelVersion: 5.8.0
5 Description: The hardware version number.
6
7 What: /sys/bus/dsa/devices/dsa<m>/cdev_major
8 Date: Oct 25, 2019
9 KernelVersion: 5.6.0
11 Description: The major number that the character device driver assigned to
12 this device.
13
14 What: /sys/bus/dsa/devices/dsa<m>/errors
15 Date: Oct 25, 2019
16 KernelVersion: 5.6.0
18 Description: The error information for this device.
19
20 What: /sys/bus/dsa/devices/dsa<m>/max_batch_size
21 Date: Oct 25, 2019
22 KernelVersion: 5.6.0
24 Description: The largest number of work descriptors in a batch.
25 It's not visible when the device does not support batch.
26
27 What: /sys/bus/dsa/devices/dsa<m>/max_work_queues_size
28 Date: Oct 25, 2019
29 KernelVersion: 5.6.0
31 Description: The maximum work queue size supported by this device.
32
33 What: /sys/bus/dsa/devices/dsa<m>/max_engines
34 Date: Oct 25, 2019
35 KernelVersion: 5.6.0
37 Description: The maximum number of engines supported by this device.
38
39 What: /sys/bus/dsa/devices/dsa<m>/max_groups
40 Date: Oct 25, 2019
41 KernelVersion: 5.6.0
43 Description: The maximum number of groups can be created under this device.
44
45 What: /sys/bus/dsa/devices/dsa<m>/max_read_buffers
46 Date: Dec 10, 2021
47 KernelVersion: 5.17.0
49 Description: The total number of read buffers supported by this device.
50 The read buffers represent resources within the DSA
51 implementation, and these resources are allocated by engines to
52 support operations. See DSA spec v1.2 9.2.4 Total Read Buffers.
53 It's not visible when the device does not support Read Buffer
54 allocation control.
55
56 What: /sys/bus/dsa/devices/dsa<m>/max_transfer_size
57 Date: Oct 25, 2019
58 KernelVersion: 5.6.0
60 Description: The number of bytes to be read from the source address to
61 perform the operation. The maximum transfer size is dependent on
62 the workqueue the descriptor was submitted to.
63
64 What: /sys/bus/dsa/devices/dsa<m>/max_work_queues
65 Date: Oct 25, 2019
66 KernelVersion: 5.6.0
68 Description: The maximum work queue number that this device supports.
69
70 What: /sys/bus/dsa/devices/dsa<m>/numa_node
71 Date: Oct 25, 2019
72 KernelVersion: 5.6.0
74 Description: The numa node number for this device.
75
76 What: /sys/bus/dsa/devices/dsa<m>/op_cap
77 Date: Oct 25, 2019
78 KernelVersion: 5.6.0
80 Description: The operation capability bit mask specify the operation types
81 supported by the this device.
82
83 What: /sys/bus/dsa/devices/dsa<m>/pasid_enabled
84 Date: Oct 27, 2020
85 KernelVersion: 5.11.0
87 Description: To indicate if user PASID (process address space identifier) is
88 enabled or not for this device.
89
90 What: /sys/bus/dsa/devices/dsa<m>/state
91 Date: Oct 25, 2019
92 KernelVersion: 5.6.0
94 Description: The state information of this device. It can be either enabled
95 or disabled.
96
97 What: /sys/bus/dsa/devices/dsa<m>/group<m>.<n>
98 Date: Oct 25, 2019
99 KernelVersion: 5.6.0
101 Description: The assigned group under this device.
102
103 What: /sys/bus/dsa/devices/dsa<m>/engine<m>.<n>
104 Date: Oct 25, 2019
105 KernelVersion: 5.6.0
107 Description: The assigned engine under this device.
108
109 What: /sys/bus/dsa/devices/dsa<m>/wq<m>.<n>
110 Date: Oct 25, 2019
111 KernelVersion: 5.6.0
113 Description: The assigned work queue under this device.
114
115 What: /sys/bus/dsa/devices/dsa<m>/configurable
116 Date: Oct 25, 2019
117 KernelVersion: 5.6.0
119 Description: To indicate if this device is configurable or not.
120
121 What: /sys/bus/dsa/devices/dsa<m>/read_buffer_limit
122 Date: Dec 10, 2021
123 KernelVersion: 5.17.0
125 Description: The maximum number of read buffers that may be in use at
126 one time by operations that access low bandwidth memory in the
127 device. See DSA spec v1.2 9.2.8 GENCFG on Global Read Buffer Limit.
128 It's not visible when the device does not support Read Buffer
129 allocation control.
130
131 What: /sys/bus/dsa/devices/dsa<m>/cmd_status
132 Date: Aug 28, 2020
133 KernelVersion: 5.10.0
135 Description: The last executed device administrative command's status/error.
136 Also last configuration error overloaded.
137 Writing to it will clear the status.
138
139 What: /sys/bus/dsa/devices/dsa<m>/iaa_cap
140 Date: Sept 14, 2022
141 KernelVersion: 6.0.0
143 Description: IAA (IAX) capability mask. Exported to user space for application
144 consumption. This attribute should only be visible on IAA devices
145 that are version 2 or later.
146
147 What: /sys/bus/dsa/devices/dsa<m>/event_log_size
148 Date: Sept 14, 2022
149 KernelVersion: 6.4.0
151 Description: The event log size to be configured. Default is 64 entries and
152 occupies 4k size if the evl entry is 64 bytes. It's visible
153 only on platforms that support the capability.
154
155 What: /sys/bus/dsa/devices/wq<m>.<n>/block_on_fault
156 Date: Oct 27, 2020
157 KernelVersion: 5.11.0
159 Description: To indicate block on fault is allowed or not for the work queue
160 to support on demand paging.
161
162 What: /sys/bus/dsa/devices/wq<m>.<n>/group_id
163 Date: Oct 25, 2019
164 KernelVersion: 5.6.0
166 Description: The group id that this work queue belongs to.
167
168 What: /sys/bus/dsa/devices/wq<m>.<n>/size
169 Date: Oct 25, 2019
170 KernelVersion: 5.6.0
172 Description: The work queue size for this work queue.
173
174 What: /sys/bus/dsa/devices/wq<m>.<n>/type
175 Date: Oct 25, 2019
176 KernelVersion: 5.6.0
178 Description: The type of this work queue, it can be "kernel" type for work
179 queue usages in the kernel space or "user" type for work queue
180 usages by applications in user space.
181
182 What: /sys/bus/dsa/devices/wq<m>.<n>/cdev_minor
183 Date: Oct 25, 2019
184 KernelVersion: 5.6.0
186 Description: The minor number assigned to this work queue by the character
187 device driver.
188
189 What: /sys/bus/dsa/devices/wq<m>.<n>/mode
190 Date: Oct 25, 2019
191 KernelVersion: 5.6.0
193 Description: The work queue mode type for this work queue.
194
195 What: /sys/bus/dsa/devices/wq<m>.<n>/priority
196 Date: Oct 25, 2019
197 KernelVersion: 5.6.0
199 Description: The priority value of this work queue, it is a value relative to
200 other work queue in the same group to control quality of service
201 for dispatching work from multiple workqueues in the same group.
202
203 What: /sys/bus/dsa/devices/wq<m>.<n>/state
204 Date: Oct 25, 2019
205 KernelVersion: 5.6.0
207 Description: The current state of the work queue.
208
209 What: /sys/bus/dsa/devices/wq<m>.<n>/threshold
210 Date: Oct 25, 2019
211 KernelVersion: 5.6.0
213 Description: The number of entries in this work queue that may be filled
214 via a limited portal.
215
216 What: /sys/bus/dsa/devices/wq<m>.<n>/max_transfer_size
217 Date: Aug 28, 2020
218 KernelVersion: 5.10.0
220 Description: The max transfer sized for this workqueue. Cannot exceed device
221 max transfer size. Configurable parameter.
222
223 What: /sys/bus/dsa/devices/wq<m>.<n>/max_batch_size
224 Date: Aug 28, 2020
225 KernelVersion: 5.10.0
227 Description: The max batch size for this workqueue. Cannot exceed device
228 max batch size. Configurable parameter.
229 It's not visible when the device does not support batch.
230
231 What: /sys/bus/dsa/devices/wq<m>.<n>/ats_disable
232 Date: Nov 13, 2020
233 KernelVersion: 5.11.0
235 Description: Indicate whether ATS disable is turned on for the workqueue.
236 0 indicates ATS is on, and 1 indicates ATS is off for the workqueue.
237
238 What: /sys/bus/dsa/devices/wq<m>.<n>/prs_disable
239 Date: Sept 14, 2022
240 KernelVersion: 6.4.0
242 Description: Controls whether PRS disable is turned on for the workqueue.
243 0 indicates PRS is on, and 1 indicates PRS is off for the
244 workqueue. This option overrides block_on_fault attribute
245 if set. It's visible only on platforms that support the
246 capability.
247
248 What: /sys/bus/dsa/devices/wq<m>.<n>/occupancy
249 Date: May 25, 2021
250 KernelVersion: 5.14.0
252 Description: Show the current number of entries in this WQ if WQ Occupancy
253 Support bit WQ capabilities is 1.
254
255 What: /sys/bus/dsa/devices/wq<m>.<n>/enqcmds_retries
256 Date: Oct 29, 2021
257 KernelVersion: 5.17.0
259 Description: Indicate the number of retires for an enqcmds submission on a sharedwq.
260 A max value to set attribute is capped at 64.
261
262 What: /sys/bus/dsa/devices/wq<m>.<n>/op_config
263 Date: Sept 14, 2022
264 KernelVersion: 6.0.0
266 Description: Shows the operation capability bits displayed in bitmap format
267 presented by %*pb printk() output format specifier.
268 The attribute can be configured when the WQ is disabled in
269 order to configure the WQ to accept specific bits that
270 correlates to the operations allowed. It's visible only
271 on platforms that support the capability.
272
273 What: /sys/bus/dsa/devices/wq<m>.<n>/driver_name
274 Date: Sept 8, 2023
275 KernelVersion: 6.7.0
277 Description: Name of driver to be bounded to the wq.
278
279 What: /sys/bus/dsa/devices/engine<m>.<n>/group_id
280 Date: Oct 25, 2019
281 KernelVersion: 5.6.0
283 Description: The group that this engine belongs to.
284
285 What: /sys/bus/dsa/devices/group<m>.<n>/use_read_buffer_limit
286 Date: Dec 10, 2021
287 KernelVersion: 5.17.0
289 Description: Enable the use of global read buffer limit for the group. See DSA
290 spec v1.2 9.2.18 GRPCFG Use Global Read Buffer Limit.
291 It's not visible when the device does not support Read Buffer
292 allocation control.
293
294 What: /sys/bus/dsa/devices/group<m>.<n>/read_buffers_allowed
295 Date: Dec 10, 2021
296 KernelVersion: 5.17.0
298 Description: Indicates max number of read buffers that may be in use at one time
299 by all engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read
300 Buffers Allowed.
301 It's not visible when the device does not support Read Buffer
302 allocation control.
303
304 What: /sys/bus/dsa/devices/group<m>.<n>/read_buffers_reserved
305 Date: Dec 10, 2021
306 KernelVersion: 5.17.0
308 Description: Indicates the number of Read Buffers reserved for the use of
309 engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read Buffers
310 Reserved.
311 It's not visible when the device does not support Read Buffer
312 allocation control.
313
314 What: /sys/bus/dsa/devices/group<m>.<n>/desc_progress_limit
315 Date: Sept 14, 2022
316 KernelVersion: 6.0.0
318 Description: Allows control of the number of work descriptors that can be
319 concurrently processed by an engine in the group as a fraction
320 of the Maximum Work Descriptors in Progress value specified in
321 the ENGCAP register. The acceptable values are 0 (default),
322 1 (1/2 of max value), 2 (1/4 of the max value), and 3 (1/8 of
323 the max value). It's visible only on platforms that support
324 the capability.
325
326 What: /sys/bus/dsa/devices/group<m>.<n>/batch_progress_limit
327 Date: Sept 14, 2022
328 KernelVersion: 6.0.0
330 Description: Allows control of the number of batch descriptors that can be
331 concurrently processed by an engine in the group as a fraction
332 of the Maximum Batch Descriptors in Progress value specified in
333 the ENGCAP register. The acceptable values are 0 (default),
334 1 (1/2 of max value), 2 (1/4 of the max value), and 3 (1/8 of
335 the max value). It's visible only on platforms that support
336 the capability.
337
338 What: /sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/cr_faults
339 Date: Sept 14, 2022
340 KernelVersion: 6.4.0
342 Description: Show the number of Completion Record (CR) faults this application
343 has caused.
344
345 What: /sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/cr_fault_failures
346 Date: Sept 14, 2022
347 KernelVersion: 6.4.0
349 Description: Show the number of Completion Record (CR) faults failures that this
350 application has caused. The failure counter is incremented when the
351 driver cannot fault in the address for the CR. Typically this is caused
352 by a bad address programmed in the submitted descriptor or a malicious
353 submitter is using bad CR address on purpose.
354
355 What: /sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/pid
356 Date: Sept 14, 2022
357 KernelVersion: 6.4.0
359 Description: Show the process id of the application that opened the file. This is
360 helpful information for a monitor daemon that wants to kill the
361 application that opened the file.
362

3. 한국어 전문 번역

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

IDXD sysfs object 계층

1-361

이 문서의 모든 ABI 담당자는 [email protected]다. 경로의 <m>은 device instance, <n>은 하위 object 번호, <x>는 character-device instance, <y>는 열린 file context를 구분한다.

Device에서 application file까지의 resource 계층
dsa<m>: hardware capability와 전체 resource limitgroup<m>.<n>: read buffer와 in-progress descriptor quotaengine<m>.<n>: 실제 작업 처리 enginewq<m>.<n>: descriptor 제출 queue와 portal policydsa<x>!wq<m>.<n>/file<y>: application별 CR fault와 PID

Group은 engine과 work queue가 공유하는 resource domain이며, user work queue를 연 각 application에는 별도의 file context 통계가 생긴다.

Device identity와 기본 capability

1-44
경로도입설명
dsa<m>/version2020-04-15 · 5.8.0Hardware version number다.
dsa<m>/cdev_major2019-10-25 · 5.6.0Character-device driver가 이 device에 할당한 major number다.
dsa<m>/errors2019-10-25 · 5.6.0이 device의 error 정보를 제공한다.
dsa<m>/max_batch_size2019-10-25 · 5.6.0하나의 batch에 넣을 수 있는 work descriptor의 최대 개수다. Device가 batch를 지원하지 않으면 보이지 않는다.
dsa<m>/max_work_queues_size2019-10-25 · 5.6.0이 device가 지원하는 전체 work-queue size의 최댓값이다.
dsa<m>/max_engines2019-10-25 · 5.6.0이 device가 지원하는 engine의 최대 개수다.
dsa<m>/max_groups2019-10-25 · 5.6.0이 device 아래에 만들 수 있는 group의 최대 개수다.

Read buffer, transfer와 queue limit

45-89
경로도입설명
dsa<m>/max_read_buffers2021-12-10 · 5.17.0이 device가 지원하는 read buffer의 총수다. Read buffer는 operation을 지원하기 위해 engine에 할당되는 DSA 구현 내부 resource다. DSA spec v1.2 9.2.4 Total Read Buffers를 참조한다. Read Buffer allocation control을 지원하지 않으면 보이지 않는다.
dsa<m>/max_transfer_size2019-10-25 · 5.6.0Operation 수행 시 source address에서 읽을 수 있는 최대 byte 수다. 실제 최대 transfer size는 descriptor를 제출한 work queue에도 의존한다.
dsa<m>/max_work_queues2019-10-25 · 5.6.0이 device가 지원하는 work queue의 최대 개수다.
dsa<m>/numa_node2019-10-25 · 5.6.0이 device가 속한 NUMA node number다.
dsa<m>/op_cap2019-10-25 · 5.6.0이 device가 지원하는 operation type을 나타내는 capability bitmask다.
dsa<m>/pasid_enabled2020-10-27 · 5.11.0이 device에서 user PASID(Process Address Space Identifier)가 활성화됐는지 나타낸다.

Device state와 하위 object

90-120
경로도입설명
dsa<m>/state2019-10-25 · 5.6.0Device의 상태다. enabled 또는 disabled 중 하나다.
dsa<m>/group<m>.<n>2019-10-25 · 5.6.0이 device 아래에 할당된 group object다.
dsa<m>/engine<m>.<n>2019-10-25 · 5.6.0이 device 아래에 할당된 engine object다.
dsa<m>/wq<m>.<n>2019-10-25 · 5.6.0이 device 아래에 할당된 work-queue object다.
dsa<m>/configurable2019-10-25 · 5.6.0이 device를 구성할 수 있는지 나타낸다.

Global read-buffer limit와 administrative status

121-153
경로도입설명
dsa<m>/read_buffer_limit2021-12-10 · 5.17.0Device에서 low-bandwidth memory에 접근하는 operation이 동시에 사용할 수 있는 read buffer의 최대 개수다. DSA spec v1.2 9.2.8 GENCFG의 Global Read Buffer Limit를 참조한다. Read Buffer allocation control을 지원하지 않으면 보이지 않는다.
dsa<m>/cmd_status2020-08-28 · 5.10.0마지막으로 실행한 device administrative command의 status 또는 error다. 마지막 configuration error도 이 값에 함께 실린다. 값을 쓰면 status를 지운다.
dsa<m>/iaa_cap2022-09-14 · 6.0.0IAA(IAX) capability mask다. Application이 사용할 수 있도록 user space에 내보낸다. Version 2 이상인 IAA device에서만 보여야 한다.
dsa<m>/event_log_size2022-09-14 · 6.4.0구성할 event log 크기다. 기본값은 64 entry이며 event-log entry가 64 byte이면 4 KiB를 차지한다. 이 capability를 지원하는 platform에서만 보인다.

Work queue의 paging, group, size와 owner

155-194
경로도입설명
wq<m>.<n>/block_on_fault2020-10-27 · 5.11.0On-demand paging을 지원하기 위해 이 work queue에서 block-on-fault를 허용하는지 나타낸다.
wq<m>.<n>/group_id2019-10-25 · 5.6.0이 work queue가 속한 group ID다.
wq<m>.<n>/size2019-10-25 · 5.6.0이 work queue의 크기다.
wq<m>.<n>/type2019-10-25 · 5.6.0Work queue의 사용 주체다. kernel은 kernel space에서 쓰는 queue, user는 user-space application이 쓰는 queue를 뜻한다.
wq<m>.<n>/cdev_minor2019-10-25 · 5.6.0Character-device driver가 이 work queue에 할당한 minor number다.
wq<m>.<n>/mode2019-10-25 · 5.6.0이 work queue의 mode type이다.

Work queue QoS와 descriptor limit

195-229
경로도입설명
wq<m>.<n>/priority2019-10-25 · 5.6.0같은 group 안의 다른 work queue에 대한 상대 priority다. 여러 work queue에서 들어온 작업을 dispatch할 때 QoS를 제어한다.
wq<m>.<n>/state2019-10-25 · 5.6.0이 work queue의 현재 상태다.
wq<m>.<n>/threshold2019-10-25 · 5.6.0Limited portal을 통해 채울 수 있는 이 work queue의 entry 수다.
wq<m>.<n>/max_transfer_size2020-08-28 · 5.10.0이 work queue에 설정한 최대 transfer size다. Device의 max_transfer_size를 넘을 수 없는 configurable parameter다.
wq<m>.<n>/max_batch_size2020-08-28 · 5.10.0이 work queue에 설정한 최대 batch size다. Device의 max_batch_size를 넘을 수 없는 configurable parameter다. Device가 batch를 지원하지 않으면 보이지 않는다.

ATS, PRS와 fault 처리

231-246
경로도입설명
wq<m>.<n>/ats_disable2020-11-13 · 5.11.0이 work queue에서 ATS disable이 켜졌는지 나타낸다. 0이면 ATS on, 1이면 ATS off다.
wq<m>.<n>/prs_disable2022-09-14 · 6.4.0이 work queue에서 PRS disable을 제어한다. 0이면 PRS on, 1이면 PRS off다. 설정하면 block_on_fault보다 우선한다. 이 capability를 지원하는 platform에서만 보인다.

ats_disable과 prs_disable은 이름이 부정형이다. 값 1이 기능 활성화가 아니라 ATS 또는 PRS 비활성화를 뜻한다.

Occupancy, retry와 operation mask

248-277
경로도입설명
wq<m>.<n>/occupancy2021-05-25 · 5.14.0WQ capability의 WQ Occupancy Support bit가 1일 때 이 work queue의 현재 entry 수를 표시한다.
wq<m>.<n>/enqcmds_retries2021-10-29 · 5.17.0Shared work queue에 enqcmds로 제출할 때의 retry 횟수다. 설정할 수 있는 최댓값은 64다. 원문의 'retires'는 문맥상 'retries'로 해석했다.
wq<m>.<n>/op_config2022-09-14 · 6.0.0%*pb printk() 형식으로 출력되는 bitmap 형태의 operation capability bit를 보여준다. WQ가 disabled일 때 특정 operation을 허용하는 bit만 받도록 구성할 수 있다. 이 capability를 지원하는 platform에서만 보인다.
wq<m>.<n>/driver_name2023-09-08 · 6.7.0이 work queue에 bind할 driver의 이름이다.

Engine의 group 연결

279-283
항목내용
What/sys/bus/dsa/devices/engine<m>.<n>/group_id
Date2019년 10월 25일
KernelVersion5.6.0
Description이 engine이 속한 group의 ID다.

Group별 read-buffer 제어

285-312

이 절의 세 ABI는 2021년 12월 10일 kernel 5.17.0에 도입됐다. Device가 Read Buffer allocation control을 지원하지 않으면 보이지 않는다.

경로설명
group<m>.<n>/use_read_buffer_limit이 group에 global read-buffer limit를 적용할지 활성화한다. DSA spec v1.2 9.2.18 GRPCFG Use Global Read Buffer Limit를 참조한다.
group<m>.<n>/read_buffers_allowedGroup의 모든 engine이 동시에 사용할 수 있는 read buffer의 최대 개수다. DSA spec v1.2 9.2.18 GRPCFG Read Buffers Allowed를 참조한다.
group<m>.<n>/read_buffers_reservedGroup의 engine이 사용하도록 예약한 read buffer의 개수다. DSA spec v1.2 9.2.18 GRPCFG Read Buffers Reserved를 참조한다.

Group별 in-progress descriptor 한계

314-336

두 ABI는 2022년 9월 14일 kernel 6.0.0에 도입됐으며 capability를 지원하는 platform에서만 보인다.

경로대상허용값
group<m>.<n>/desc_progress_limitGroup engine 하나가 동시에 처리할 수 있는 work descriptor 수를 ENGCAP의 Maximum Work Descriptors in Progress에 대한 비율로 제한한다.0: 기본값, 1: 최대값의 1/2, 2: 1/4, 3: 1/8
group<m>.<n>/batch_progress_limitGroup engine 하나가 동시에 처리할 수 있는 batch descriptor 수를 ENGCAP의 Maximum Batch Descriptors in Progress에 대한 비율로 제한한다.0: 기본값, 1: 최대값의 1/2, 2: 1/4, 3: 1/8

Application file context의 CR fault와 PID

338-361

다음 세 ABI는 2022년 9월 14일 kernel 6.4.0에 도입됐다. 경로의 dsa<x>\!wq<m>.<n>은 sysfs에서 character-device client 이름에 포함된 느낌표를 escape한 표기다.

경로 suffix설명
dsa<x>\!wq<m>.<n>/file<y>/cr_faults이 application이 일으킨 Completion Record(CR) fault의 수를 표시한다.
dsa<x>\!wq<m>.<n>/file<y>/cr_fault_failures이 application이 일으킨 CR fault 가운데 처리에 실패한 수를 표시한다. Driver가 CR address를 fault-in하지 못할 때 증가한다. 보통 제출 descriptor에 잘못된 address가 들어갔거나 악의적인 submitter가 의도적으로 잘못된 CR address를 사용한 경우다.
dsa<x>\!wq<m>.<n>/file<y>/pid이 file을 연 application의 process ID를 표시한다. 해당 application을 종료하려는 monitor daemon이 사용할 수 있는 정보다.