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

Linux 6.18.37 · ABI / testing

GenWQE driver debugfs ABI

GenWQE card의 DDCB queue, 현재·reset 이전 error register와 UID state, bitstream 정보, error injection, VF job timeout·timer·queue working time debugfs files를 설명합니다.

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

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

1. 요약·해설

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

Queue와 현재 PF state

debugfs-driver-genwqe:1-28

DDCB queueing 문제를 진단하고 PF의 현재 error registers와 UID0·UID1·UID2 내부 chip state를 dump합니다.

마지막 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-91

Bitstream·software version과 clocking 정보를 요약하고 error handling 시험을 위한 injection, VF별 timeout, PF·VF job timer와 queue working time register 값을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 What: /sys/kernel/debug/genwqe/genwqe<n>_card/ddcb_info
2 Date: Oct 2013
3 Contact: haver@linux.vnet.ibm.com
4 Description: DDCB queue dump used for debugging queueing problems.
5
6 What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_regs
7 Date: Oct 2013
8 Contact: haver@linux.vnet.ibm.com
9 Description: Dump of the current error registers.
10 Only available for PF.
11
12 What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid0
13 Date: Oct 2013
14 Contact: haver@linux.vnet.ibm.com
15 Description: Internal chip state of UID0 (unit id 0).
16 Only available for PF.
17
18 What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid1
19 Date: Oct 2013
20 Contact: haver@linux.vnet.ibm.com
21 Description: Internal chip state of UID1.
22 Only available for PF.
23
24 What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid2
25 Date: Oct 2013
26 Contact: haver@linux.vnet.ibm.com
27 Description: Internal chip state of UID2.
28 Only available for PF.
29
30 What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_regs
31 Date: Oct 2013
32 Contact: haver@linux.vnet.ibm.com
33 Description: Dump of the error registers before the last reset of
34 the card occurred.
35 Only available for PF.
36
37 What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid0
38 Date: Oct 2013
39 Contact: haver@linux.vnet.ibm.com
40 Description: Internal chip state of UID0 before card was reset.
41 Only available for PF.
42
43 What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid1
44 Date: Oct 2013
45 Contact: haver@linux.vnet.ibm.com
46 Description: Internal chip state of UID1 before card was reset.
47 Only available for PF.
48
49 What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid2
50 Date: Oct 2013
51 Contact: haver@linux.vnet.ibm.com
52 Description: Internal chip state of UID2 before card was reset.
53 Only available for PF.
54
55 What: /sys/kernel/debug/genwqe/genwqe<n>_card/info
56 Date: Oct 2013
57 Contact: haver@linux.vnet.ibm.com
58 Description: Comprehensive summary of bitstream version and software
59 version. Used bitstream and bitstream clocking information.
60
61 What: /sys/kernel/debug/genwqe/genwqe<n>_card/err_inject
62 Date: Oct 2013
63 Contact: haver@linux.vnet.ibm.com
64 Description: Possibility to inject error cases to ensure that the drivers
65 error handling code works well.
66
67 What: /sys/kernel/debug/genwqe/genwqe<n>_card/vf<0..14>_jobtimeout_msec
68 Date: Oct 2013
69 Contact: haver@linux.vnet.ibm.com
70 Description: Default VF timeout 250ms. Testing might require 1000ms.
71 Using 0 will use the cards default value (whatever that is).
72
73 The timeout depends on the max number of available cards
74 in the system and the maximum allowed queue size.
75
76 The driver ensures that the settings are done just before
77 the VFs get enabled. Changing the timeouts in flight is not
78 possible.
79 Only available for PF.
80
81 What: /sys/kernel/debug/genwqe/genwqe<n>_card/jobtimer
82 Date: Oct 2013
83 Contact: haver@linux.vnet.ibm.com
84 Description: Dump job timeout register values for PF and VFs.
85 Only available for PF.
86
87 What: /sys/kernel/debug/genwqe/genwqe<n>_card/queue_working_time
88 Date: Dec 2013
89 Contact: haver@linux.vnet.ibm.com
90 Description: Dump queue working time register values for PF and VFs.
91 Only available for PF.
92

3. 한국어 전문 번역

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

DDCB queue와 현재 hardware state

1-28
공통 항목내용
Date2013년 10월
Contacthaver@linux.vnet.ibm.com
What설명범위
/sys/kernel/debug/genwqe/genwqe<n>_card/ddcb_infoQueueing 문제를 debug할 때 사용하는 DDCB queue dumpCard
/sys/kernel/debug/genwqe/genwqe<n>_card/curr_regs현재 error registers dumpPF only
/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid0UID0(unit id 0)의 내부 chip statePF only
/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid1UID1의 내부 chip statePF only
/sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid2UID2의 내부 chip statePF only

Card reset 이전 snapshot

30-53

다음 네 파일은 모두 2013년 10월에 추가되었고 담당자는 haver@linux.vnet.ibm.com이며 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_uid0Card reset 전 UID0 내부 chip state
/sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid1Card reset 전 UID1 내부 chip state
/sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid2Card reset 전 UID2 내부 chip state
GenWQE reset 전후 진단 snapshot
Before last card resetprev_regsPrevious error registers
Before last card resetprev_dbg_uid0/1/2Previous UID states
Current card statecurr_regsCurrent error registers
Current card statecurr_dbg_uid0/1/2Current UID states

PF debugfs는 현재 registers·UID state와 마지막 reset 이전에 보존한 snapshot을 나란히 제공해 reset 원인을 비교할 수 있게 한다.

Card information과 error injection

55-65
WhatDate / Contact설명
/sys/kernel/debug/genwqe/genwqe<n>_card/info2013년 10월 / haver@linux.vnet.ibm.comBitstream version과 software version의 종합 요약, 사용 중인 bitstream과 bitstream clocking information
/sys/kernel/debug/genwqe/genwqe<n>_card/err_inject2013년 10월 / haver@linux.vnet.ibm.comDriver error handling code가 올바르게 동작하는지 확인하도록 error cases를 주입하는 기능

VF job timeout과 PF·VF timer dumps

67-91
WhatDate / Contact설명
/sys/kernel/debug/genwqe/genwqe<n>_card/vf<0..14>_jobtimeout_msec2013년 10월 / haver@linux.vnet.ibm.comVF별 job timeout 설정, PF only
/sys/kernel/debug/genwqe/genwqe<n>_card/jobtimer2013년 10월 / haver@linux.vnet.ibm.comPF와 VFs의 job timeout register values dump, PF only
/sys/kernel/debug/genwqe/genwqe<n>_card/queue_working_time2013년 12월 / haver@linux.vnet.ibm.comPF와 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을 변경할 수 없습니다.

VF timeout 적용 시점
Set vf<0..14>_jobtimeout_msecDriver stages timeoutImmediately before VF enableTimeout appliedVF running
VF runningIn-flight timeout changeNot possible
jobtimer / queue_working_timePF and VF register dumps

PF에서 VF별 timeout을 준비하고 driver가 VF enable 직전에 register에 적용한다. VF가 동작하기 시작한 뒤에는 변경할 수 없다.