요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
마지막 reset 이전 PF state
debugfs-driver-genwqe:30-53마지막 card reset 직전의 error registers와 UID0·UID1·UID2 내부 chip state snapshot을 PF에서 제공합니다.
Version, error injection, VF timers
debugfs-driver-genwqe:55-91Bitstream·software version과 clocking 정보를 요약하고 error handling 시험을 위한 injection, VF별 timeout, PF·VF job timer와 queue working time register 값을 제공합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/kernel/debug/genwqe/genwqe<n>_card/ddcb_info
Date: Oct 2013
Contact: [email protected]
Description: DDCB queue dump used for debugging queueing problems.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_regs
Date: Oct 2013
Contact: [email protected]
Description: Dump of the current error registers.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid0
Date: Oct 2013
Contact: [email protected]
Description: Internal chip state of UID0 (unit id 0).
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid1
Date: Oct 2013
Contact: [email protected]
Description: Internal chip state of UID1.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid2
Date: Oct 2013
Contact: [email protected]
Description: Internal chip state of UID2.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_regs
Date: Oct 2013
Contact: [email protected]
Description: Dump of the error registers before the last reset of
the card occurred.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid0
Date: Oct 2013
Contact: [email protected]
Description: Internal chip state of UID0 before card was reset.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid1
Date: Oct 2013
Contact: [email protected]
Description: Internal chip state of UID1 before card was reset.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid2
Date: Oct 2013
Contact: [email protected]
Description: Internal chip state of UID2 before card was reset.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/info
Date: Oct 2013
Contact: [email protected]
Description: Comprehensive summary of bitstream version and software
version. Used bitstream and bitstream clocking information.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/err_inject
Date: Oct 2013
Contact: [email protected]
Description: Possibility to inject error cases to ensure that the drivers
error handling code works well.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/vf<0..14>_jobtimeout_msec
Date: Oct 2013
Contact: [email protected]
Description: Default VF timeout 250ms. Testing might require 1000ms.
Using 0 will use the cards default value (whatever that is).
The timeout depends on the max number of available cards
in the system and the maximum allowed queue size.
The driver ensures that the settings are done just before
the VFs get enabled. Changing the timeouts in flight is not
possible.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/jobtimer
Date: Oct 2013
Contact: [email protected]
Description: Dump job timeout register values for PF and VFs.
Only available for PF.
What: /sys/kernel/debug/genwqe/genwqe<n>_card/queue_working_time
Date: Dec 2013
Contact: [email protected]
Description: Dump queue working time register values for PF and VFs.
Only available for PF.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
DDCB queue와 현재 hardware state
1-28| 공통 항목 | 내용 |
|---|---|
| Date | 2013년 10월 |
| Contact | [email protected] |
| What | 설명 | 범위 |
|---|---|---|
| /sys/kernel/debug/genwqe/genwqe<n>_card/ddcb_info | Queueing 문제를 debug할 때 사용하는 DDCB queue dump | Card |
| /sys/kernel/debug/genwqe/genwqe<n>_card/curr_regs | 현재 error registers dump | PF only |
| /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid0 | UID0(unit id 0)의 내부 chip state | PF only |
| /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid1 | UID1의 내부 chip state | PF only |
| /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid2 | UID2의 내부 chip state | PF only |
Card reset 이전 snapshot
30-53다음 네 파일은 모두 2013년 10월에 추가되었고 담당자는 [email protected]이며 PF에서만 사용할 수 있습니다.
| What | 설명 |
|---|---|
| /sys/kernel/debug/genwqe/genwqe<n>_card/prev_regs | 마지막 card reset이 일어나기 전 error registers dump |
| /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid0 | Card reset 전 UID0 내부 chip state |
| /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid1 | Card reset 전 UID1 내부 chip state |
| /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid2 | Card reset 전 UID2 내부 chip state |
PF debugfs는 현재 registers·UID state와 마지막 reset 이전에 보존한 snapshot을 나란히 제공해 reset 원인을 비교할 수 있게 한다.
Card information과 error injection
55-65| What | Date / Contact | 설명 |
|---|---|---|
| /sys/kernel/debug/genwqe/genwqe<n>_card/info | 2013년 10월 / [email protected] | Bitstream version과 software version의 종합 요약, 사용 중인 bitstream과 bitstream clocking information |
| /sys/kernel/debug/genwqe/genwqe<n>_card/err_inject | 2013년 10월 / [email protected] | Driver error handling code가 올바르게 동작하는지 확인하도록 error cases를 주입하는 기능 |
VF job timeout과 PF·VF timer dumps
67-91| What | Date / Contact | 설명 |
|---|---|---|
| /sys/kernel/debug/genwqe/genwqe<n>_card/vf<0..14>_jobtimeout_msec | 2013년 10월 / [email protected] | VF별 job timeout 설정, PF only |
| /sys/kernel/debug/genwqe/genwqe<n>_card/jobtimer | 2013년 10월 / [email protected] | PF와 VFs의 job timeout register values dump, PF only |
| /sys/kernel/debug/genwqe/genwqe<n>_card/queue_working_time | 2013년 12월 / [email protected] | PF와 VFs의 queue working time register values dump, PF only |
VF timeout 기본값은 250 ms이며 testing에는 1000 ms가 필요할 수 있습니다. 0을 사용하면 card의 기본값을 사용하며 그 실제 값은 정해져 있지 않습니다.
Timeout은 system에서 사용할 수 있는 최대 card 수와 허용되는 최대 queue size에 따라 달라집니다.
Driver는 VFs를 enable하기 직전에 설정이 적용되도록 보장합니다. VFs가 동작 중인 상태에서는 timeout을 변경할 수 없습니다.
PF에서 VF별 timeout을 준비하고 driver가 VF enable 직전에 register에 적용한다. VF가 동작하기 시작한 뒤에는 변경할 수 없다.
Queue와 현재 PF state
debugfs-driver-genwqe:1-28DDCB queueing 문제를 진단하고 PF의 현재 error registers와 UID0·UID1·UID2 내부 chip state를 dump합니다.