요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Idle-power policy
sysfs-driver-qat:68-102pm_idle_enabled는 idle 때 MIN power state로 전환할지 MAX state에 유지할지를 정하며 device가 down일 때만 변경할 수 있습니다.
Ring-pair service mapping
sysfs-driver-qat:103-148num_rps는 device의 ring-pair 수를 반환하고, rp2srv에 index를 쓴 뒤 읽으면 해당 pair의 dc·sym·asym service를 확인합니다.
Automatic recovery from unrecoverable errors
sysfs-driver-qat:149-167auto_reset은 기본적으로 꺼져 있으며 활성화하면 unrecoverable error를 만난 QAT device를 자동 reset합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/bus/pci/devices/<BDF>/qat/state
Date: June 2022
KernelVersion: 6.0
Contact: qat-linux@intel.com
Description: (RW) Reports the current state of the QAT device. Write to
the file to start or stop the device.
The values are:
* up: the device is up and running
* down: the device is down
It is possible to transition the device from up to down only
if the device is up and vice versa.
This attribute is available for qat_4xxx and qat_6xxx devices.
What: /sys/bus/pci/devices/<BDF>/qat/cfg_services
Date: June 2022
KernelVersion: 6.0
Contact: qat-linux@intel.com
Description: (RW) Reports the current configuration of the QAT device.
Write to the file to change the configured services.
One or more services can be enabled per device.
Certain configurations are restricted to specific device types;
where applicable this is explicitly indicated, for example
(qat_6xxx) denotes applicability exclusively to that device series.
The available services include:
* sym: Configures the device for symmetric cryptographic operations.
* asym: Configures the device for asymmetric cryptographic operations.
* dc: Configures the device for compression and decompression
operations.
* dcc: Similar to dc, but with the additional dc chaining feature
enabled, cipher then compress (qat_6xxx), hash then compression.
If this is not required choose dc.
* decomp: Configures the device for decompression operations (qat_6xxx).
Service combinations are permitted for all services except dcc.
On QAT GEN4 devices (qat_4xxx driver) a maximum of two services can be
combined and on QAT GEN6 devices (qat_6xxx driver ) a maximum of three
services can be combined.
The order of services is not significant. For instance, sym;asym is
functionally equivalent to asym;sym.
It is possible to set the configuration only if the device
is in the `down` state (see /sys/bus/pci/devices/<BDF>/qat/state)
The following example shows how to change the configuration of
a device configured for running crypto services in order to
run data compression::
# cat /sys/bus/pci/devices/<BDF>/qat/state
up
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
sym;asym
# echo down > /sys/bus/pci/devices/<BDF>/qat/state
# echo dc > /sys/bus/pci/devices/<BDF>/qat/cfg_services
# echo up > /sys/bus/pci/devices/<BDF>/qat/state
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
dc
This attribute is available for qat_4xxx and qat_6xxx devices.
What: /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
Date: June 2023
KernelVersion: 6.5
Contact: qat-linux@intel.com
Description: (RW) This configuration option provides a way to force the device into remaining in
the MAX power state.
If idle support is enabled the device will transition to the `MIN` power state when
idle, otherwise will stay in the MAX power state.
Write to the file to enable or disable idle support.
The values are:
* 0: idle support is disabled
* 1: idle support is enabled
Default value is 1.
It is possible to set the pm_idle_enabled value only if the device
is in the `down` state (see /sys/bus/pci/devices/<BDF>/qat/state)
The following example shows how to change the pm_idle_enabled of
a device::
# cat /sys/bus/pci/devices/<BDF>/qat/state
up
# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
1
# echo down > /sys/bus/pci/devices/<BDF>/qat/state
# echo 0 > /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
# echo up > /sys/bus/pci/devices/<BDF>/qat/state
# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
0
This attribute is available for qat_4xxx and qat_6xxx devices.
What: /sys/bus/pci/devices/<BDF>/qat/rp2srv
Date: January 2024
KernelVersion: 6.7
Contact: qat-linux@intel.com
Description:
(RW) This attribute provides a way for a user to query a
specific ring pair for the type of service that it is currently
configured for.
When written to, the value is cached and used to perform the
read operation. Allowed values are in the range 0 to N-1, where
N is the max number of ring pairs supported by a device. This
can be queried using the attribute qat/num_rps.
A read returns the service associated to the ring pair queried.
The values are:
* dc: the ring pair is configured for running compression services
* sym: the ring pair is configured for running symmetric crypto
services
* asym: the ring pair is configured for running asymmetric crypto
services
Example usage::
# echo 1 > /sys/bus/pci/devices/<BDF>/qat/rp2srv
# cat /sys/bus/pci/devices/<BDF>/qat/rp2srv
sym
This attribute is available for qat_4xxx and qat_6xxx devices.
What: /sys/bus/pci/devices/<BDF>/qat/num_rps
Date: January 2024
KernelVersion: 6.7
Contact: qat-linux@intel.com
Description:
(RO) Returns the number of ring pairs that a single device has.
Example usage::
# cat /sys/bus/pci/devices/<BDF>/qat/num_rps
64
This attribute is available for qat_4xxx and qat_6xxx devices.
What: /sys/bus/pci/devices/<BDF>/qat/auto_reset
Date: May 2024
KernelVersion: 6.9
Contact: qat-linux@intel.com
Description: (RW) Reports the current state of the autoreset feature
for a QAT device
Write to the attribute to enable or disable device auto reset.
Device auto reset is disabled by default.
The values are:
* 1/Yy/on: auto reset enabled. If the device encounters an
unrecoverable error, it will be reset automatically.
* 0/Nn/off: auto reset disabled. If the device encounters an
unrecoverable error, it will not be reset.
This attribute is available for qat_4xxx and qat_6xxx devices.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
QAT device state
1-18| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/devices/<BDF>/qat/state |
| Date | 2022년 6월 |
| KernelVersion | 6.0 |
| Contact | qat-linux@intel.com |
| Description | QAT device의 현재 state를 보고합니다. File에 써서 device를 start하거나 stop합니다. 값 up은 device가 up 상태로 실행 중임을, down은 device가 down 상태임을 뜻합니다. Device가 up일 때만 up에서 down으로, down일 때만 down에서 up으로 전환할 수 있습니다. 이 attribute는 qat_4xxx와 qat_6xxx devices에서 사용할 수 있습니다. |
| Access | Read-write |
현재 state와 반대 state로만 전환할 수 있습니다.
Configured QAT services
19-67| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/devices/<BDF>/qat/cfg_services |
| Date | 2022년 6월 |
| KernelVersion | 6.0 |
| Contact | qat-linux@intel.com |
| Description | QAT device의 현재 configuration을 보고하며 file에 써서 configured services를 바꿉니다. Device마다 하나 이상의 service를 enable할 수 있습니다. 특정 configuration은 특정 device type으로 제한되며, 예를 들어 (qat_6xxx)는 해당 series에만 적용됨을 뜻합니다. sym은 symmetric cryptographic operations, asym은 asymmetric cryptographic operations, dc는 compression·decompression operations를 구성합니다. dcc는 dc chaining을 추가한 dc와 비슷하며 cipher 후 compress(qat_6xxx) 또는 hash 후 compression을 수행합니다. Chaining이 필요하지 않으면 dc를 선택합니다. decomp는 decompression operations를 구성하며 qat_6xxx 전용입니다. dcc를 제외한 모든 services는 조합할 수 있습니다. QAT GEN4(qat_4xxx)는 최대 두 services, QAT GEN6(qat_6xxx)는 최대 세 services를 조합할 수 있습니다. Service 순서는 중요하지 않으므로 sym;asym과 asym;sym은 기능상 같습니다. Device가 down state일 때만 configuration을 설정할 수 있습니다. 아래 example은 crypto services에서 data compression으로 configuration을 바꿉니다. 이 attribute는 qat_4xxx와 qat_6xxx devices에서 사용할 수 있습니다. |
| Access | Read-write |
각 service token, workload와 device restriction을 정리했습니다.
# cat /sys/bus/pci/devices/<BDF>/qat/state
up
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
sym;asym
# echo down > /sys/bus/pci/devices/<BDF>/qat/state
# echo dc > /sys/bus/pci/devices/<BDF>/qat/cfg_services
# echo up > /sys/bus/pci/devices/<BDF>/qat/state
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
dc
QAT idle-power support
68-102| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled |
| Date | 2023년 6월 |
| KernelVersion | 6.5 |
| Contact | qat-linux@intel.com |
| Description | Device를 MAX power state에 계속 머물도록 강제할 수 있는 configuration option입니다. Idle support가 enable이면 device는 idle일 때 MIN power state로 전환하고, 아니면 MAX power state에 머뭅니다. File에 써서 idle support를 enable하거나 disable합니다. 값 0은 disabled, 1은 enabled이며 default는 1입니다. Device가 down state일 때만 pm_idle_enabled를 설정할 수 있습니다. 아래 example은 값을 1에서 0으로 바꿉니다. 이 attribute는 qat_4xxx와 qat_6xxx devices에서 사용할 수 있습니다. |
| Access | Read-write |
pm_idle_enabled 값과 idle device의 resulting power state입니다.
# cat /sys/bus/pci/devices/<BDF>/qat/state
up
# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
1
# echo down > /sys/bus/pci/devices/<BDF>/qat/state
# echo 0 > /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
# echo up > /sys/bus/pci/devices/<BDF>/qat/state
# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
0
Ring-pair service query
103-134| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/devices/<BDF>/qat/rp2srv |
| Date | 2024년 1월 |
| KernelVersion | 6.7 |
| Contact | qat-linux@intel.com |
| Description | 특정 ring pair가 현재 어떤 service type으로 configured되어 있는지 조회합니다. 값을 쓰면 cached되어 다음 read operation에 사용됩니다. 허용 값은 0부터 N-1까지이며 N은 device가 지원하는 최대 ring-pair 수입니다. N은 qat/num_rps로 조회할 수 있습니다. Read는 선택한 ring pair의 service를 반환합니다. dc는 compression, sym은 symmetric crypto, asym은 asymmetric crypto services로 구성된 ring pair를 뜻합니다. 이 attribute는 qat_4xxx와 qat_6xxx devices에서 사용할 수 있습니다. |
| Access | Read-write query selector |
| Write range | 0..N-1, where N is qat/num_rps |
num_rps로 범위를 확인하고 rp2srv에 index를 쓴 뒤 결과를 읽습니다.
# echo 1 > /sys/bus/pci/devices/<BDF>/qat/rp2srv
# cat /sys/bus/pci/devices/<BDF>/qat/rp2srv
sym
Device ring-pair count
135-148| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/devices/<BDF>/qat/num_rps |
| Date | 2024년 1월 |
| KernelVersion | 6.7 |
| Contact | qat-linux@intel.com |
| Description | 단일 device가 가진 ring pairs의 수를 반환합니다. Example output은 64입니다. 이 attribute는 qat_4xxx와 qat_6xxx devices에서 사용할 수 있습니다. |
| Access | Read-only |
# cat /sys/bus/pci/devices/<BDF>/qat/num_rps
64
Automatic device reset
149-167| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/pci/devices/<BDF>/qat/auto_reset |
| Date | 2024년 5월 |
| KernelVersion | 6.9 |
| Contact | qat-linux@intel.com |
| Description | QAT device의 autoreset feature 현재 state를 보고합니다. Attribute에 써서 device auto reset을 enable하거나 disable하며 default는 disabled입니다. 1, Y/y, on은 enable을 뜻하고 device가 unrecoverable error를 만나면 자동 reset합니다. 0, N/n, off는 disable을 뜻하고 unrecoverable error를 만나도 reset하지 않습니다. 이 attribute는 qat_4xxx와 qat_6xxx devices에서 사용할 수 있습니다. |
| Access | Read-write |
Boolean aliases와 unrecoverable-error behavior를 대응시켰습니다.
Device state and configured services
sysfs-driver-qat:1-67state로 device를 up/down 전환하고, down 상태에서만 cfg_services를 바꿔 symmetric·asymmetric crypto, compression, chaining, decompression workloads를 선택합니다.