xref: /linux/Documentation/ABI/testing/sysfs-bus-pci-devices-aer (revision 3719a04a80caf660f899a462cd8f3973bcfa676e)
1*b4fe7398SJon Pan-DohPCIe Device AER statistics
2*b4fe7398SJon Pan-Doh--------------------------
3*b4fe7398SJon Pan-Doh
4*b4fe7398SJon Pan-DohThese attributes show up under all the devices that are AER capable. These
5*b4fe7398SJon Pan-Dohstatistical counters indicate the errors "as seen/reported by the device".
6*b4fe7398SJon Pan-DohNote that this may mean that if an endpoint is causing problems, the AER
7*b4fe7398SJon Pan-Dohcounters may increment at its link partner (e.g. root port) because the
8*b4fe7398SJon Pan-Doherrors may be "seen" / reported by the link partner and not the
9*b4fe7398SJon Pan-Dohproblematic endpoint itself (which may report all counters as 0 as it never
10*b4fe7398SJon Pan-Dohsaw any problems).
11*b4fe7398SJon Pan-Doh
12*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer_dev_correctable
13*b4fe7398SJon Pan-DohDate:		July 2018
14*b4fe7398SJon Pan-DohKernelVersion:	4.19.0
15*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org, rajatja@google.com
16*b4fe7398SJon Pan-DohDescription:	List of correctable errors seen and reported by this
17*b4fe7398SJon Pan-Doh		PCI device using ERR_COR. Note that since multiple errors may
18*b4fe7398SJon Pan-Doh		be reported using a single ERR_COR message, thus
19*b4fe7398SJon Pan-Doh		TOTAL_ERR_COR at the end of the file may not match the actual
20*b4fe7398SJon Pan-Doh		total of all the errors in the file. Sample output::
21*b4fe7398SJon Pan-Doh
22*b4fe7398SJon Pan-Doh		    localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable
23*b4fe7398SJon Pan-Doh		    Receiver Error 2
24*b4fe7398SJon Pan-Doh		    Bad TLP 0
25*b4fe7398SJon Pan-Doh		    Bad DLLP 0
26*b4fe7398SJon Pan-Doh		    RELAY_NUM Rollover 0
27*b4fe7398SJon Pan-Doh		    Replay Timer Timeout 0
28*b4fe7398SJon Pan-Doh		    Advisory Non-Fatal 0
29*b4fe7398SJon Pan-Doh		    Corrected Internal Error 0
30*b4fe7398SJon Pan-Doh		    Header Log Overflow 0
31*b4fe7398SJon Pan-Doh		    TOTAL_ERR_COR 2
32*b4fe7398SJon Pan-Doh
33*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer_dev_fatal
34*b4fe7398SJon Pan-DohDate:		July 2018
35*b4fe7398SJon Pan-DohKernelVersion:	4.19.0
36*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org, rajatja@google.com
37*b4fe7398SJon Pan-DohDescription:	List of uncorrectable fatal errors seen and reported by this
38*b4fe7398SJon Pan-Doh		PCI device using ERR_FATAL. Note that since multiple errors may
39*b4fe7398SJon Pan-Doh		be reported using a single ERR_FATAL message, thus
40*b4fe7398SJon Pan-Doh		TOTAL_ERR_FATAL at the end of the file may not match the actual
41*b4fe7398SJon Pan-Doh		total of all the errors in the file. Sample output::
42*b4fe7398SJon Pan-Doh
43*b4fe7398SJon Pan-Doh		    localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal
44*b4fe7398SJon Pan-Doh		    Undefined 0
45*b4fe7398SJon Pan-Doh		    Data Link Protocol 0
46*b4fe7398SJon Pan-Doh		    Surprise Down Error 0
47*b4fe7398SJon Pan-Doh		    Poisoned TLP 0
48*b4fe7398SJon Pan-Doh		    Flow Control Protocol 0
49*b4fe7398SJon Pan-Doh		    Completion Timeout 0
50*b4fe7398SJon Pan-Doh		    Completer Abort 0
51*b4fe7398SJon Pan-Doh		    Unexpected Completion 0
52*b4fe7398SJon Pan-Doh		    Receiver Overflow 0
53*b4fe7398SJon Pan-Doh		    Malformed TLP 0
54*b4fe7398SJon Pan-Doh		    ECRC 0
55*b4fe7398SJon Pan-Doh		    Unsupported Request 0
56*b4fe7398SJon Pan-Doh		    ACS Violation 0
57*b4fe7398SJon Pan-Doh		    Uncorrectable Internal Error 0
58*b4fe7398SJon Pan-Doh		    MC Blocked TLP 0
59*b4fe7398SJon Pan-Doh		    AtomicOp Egress Blocked 0
60*b4fe7398SJon Pan-Doh		    TLP Prefix Blocked Error 0
61*b4fe7398SJon Pan-Doh		    TOTAL_ERR_FATAL 0
62*b4fe7398SJon Pan-Doh
63*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer_dev_nonfatal
64*b4fe7398SJon Pan-DohDate:		July 2018
65*b4fe7398SJon Pan-DohKernelVersion:	4.19.0
66*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org, rajatja@google.com
67*b4fe7398SJon Pan-DohDescription:	List of uncorrectable nonfatal errors seen and reported by this
68*b4fe7398SJon Pan-Doh		PCI device using ERR_NONFATAL. Note that since multiple errors
69*b4fe7398SJon Pan-Doh		may be reported using a single ERR_FATAL message, thus
70*b4fe7398SJon Pan-Doh		TOTAL_ERR_NONFATAL at the end of the file may not match the
71*b4fe7398SJon Pan-Doh		actual total of all the errors in the file. Sample output::
72*b4fe7398SJon Pan-Doh
73*b4fe7398SJon Pan-Doh		    localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal
74*b4fe7398SJon Pan-Doh		    Undefined 0
75*b4fe7398SJon Pan-Doh		    Data Link Protocol 0
76*b4fe7398SJon Pan-Doh		    Surprise Down Error 0
77*b4fe7398SJon Pan-Doh		    Poisoned TLP 0
78*b4fe7398SJon Pan-Doh		    Flow Control Protocol 0
79*b4fe7398SJon Pan-Doh		    Completion Timeout 0
80*b4fe7398SJon Pan-Doh		    Completer Abort 0
81*b4fe7398SJon Pan-Doh		    Unexpected Completion 0
82*b4fe7398SJon Pan-Doh		    Receiver Overflow 0
83*b4fe7398SJon Pan-Doh		    Malformed TLP 0
84*b4fe7398SJon Pan-Doh		    ECRC 0
85*b4fe7398SJon Pan-Doh		    Unsupported Request 0
86*b4fe7398SJon Pan-Doh		    ACS Violation 0
87*b4fe7398SJon Pan-Doh		    Uncorrectable Internal Error 0
88*b4fe7398SJon Pan-Doh		    MC Blocked TLP 0
89*b4fe7398SJon Pan-Doh		    AtomicOp Egress Blocked 0
90*b4fe7398SJon Pan-Doh		    TLP Prefix Blocked Error 0
91*b4fe7398SJon Pan-Doh		    TOTAL_ERR_NONFATAL 0
92*b4fe7398SJon Pan-Doh
93*b4fe7398SJon Pan-DohPCIe Rootport AER statistics
94*b4fe7398SJon Pan-Doh----------------------------
95*b4fe7398SJon Pan-Doh
96*b4fe7398SJon Pan-DohThese attributes show up under only the rootports (or root complex event
97*b4fe7398SJon Pan-Dohcollectors) that are AER capable. These indicate the number of error messages as
98*b4fe7398SJon Pan-Doh"reported to" the rootport. Please note that the rootports also transmit
99*b4fe7398SJon Pan-Doh(internally) the ERR_* messages for errors seen by the internal rootport PCI
100*b4fe7398SJon Pan-Dohdevice, so these counters include them and are thus cumulative of all the error
101*b4fe7398SJon Pan-Dohmessages on the PCI hierarchy originating at that root port.
102*b4fe7398SJon Pan-Doh
103*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer_rootport_total_err_cor
104*b4fe7398SJon Pan-DohDate:		July 2018
105*b4fe7398SJon Pan-DohKernelVersion:	4.19.0
106*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org, rajatja@google.com
107*b4fe7398SJon Pan-DohDescription:	Total number of ERR_COR messages reported to rootport.
108*b4fe7398SJon Pan-Doh
109*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer_rootport_total_err_fatal
110*b4fe7398SJon Pan-DohDate:		July 2018
111*b4fe7398SJon Pan-DohKernelVersion:	4.19.0
112*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org, rajatja@google.com
113*b4fe7398SJon Pan-DohDescription:	Total number of ERR_FATAL messages reported to rootport.
114*b4fe7398SJon Pan-Doh
115*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer_rootport_total_err_nonfatal
116*b4fe7398SJon Pan-DohDate:		July 2018
117*b4fe7398SJon Pan-DohKernelVersion:	4.19.0
118*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org, rajatja@google.com
119*b4fe7398SJon Pan-DohDescription:	Total number of ERR_NONFATAL messages reported to rootport.
120*b4fe7398SJon Pan-Doh
121*b4fe7398SJon Pan-DohPCIe AER ratelimits
122*b4fe7398SJon Pan-Doh-------------------
123*b4fe7398SJon Pan-Doh
124*b4fe7398SJon Pan-DohThese attributes show up under all the devices that are AER capable.
125*b4fe7398SJon Pan-DohThey represent configurable ratelimits of logs per error type.
126*b4fe7398SJon Pan-Doh
127*b4fe7398SJon Pan-DohSee Documentation/PCI/pcieaer-howto.rst for more info on ratelimits.
128*b4fe7398SJon Pan-Doh
129*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer/correctable_ratelimit_interval_ms
130*b4fe7398SJon Pan-DohDate:		May 2025
131*b4fe7398SJon Pan-DohKernelVersion:	6.16.0
132*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org
133*b4fe7398SJon Pan-DohDescription:	Writing 0 disables AER correctable error log ratelimiting.
134*b4fe7398SJon Pan-Doh		Writing a positive value sets the ratelimit interval in ms.
135*b4fe7398SJon Pan-Doh		Default is DEFAULT_RATELIMIT_INTERVAL (5000 ms).
136*b4fe7398SJon Pan-Doh
137*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer/correctable_ratelimit_burst
138*b4fe7398SJon Pan-DohDate:		May 2025
139*b4fe7398SJon Pan-DohKernelVersion:	6.16.0
140*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org
141*b4fe7398SJon Pan-DohDescription:	Ratelimit burst for correctable error logs. Writing a value
142*b4fe7398SJon Pan-Doh		changes the number of errors (burst) allowed per interval
143*b4fe7398SJon Pan-Doh		before ratelimiting. Reading gets the current ratelimit
144*b4fe7398SJon Pan-Doh		burst. Default is DEFAULT_RATELIMIT_BURST (10).
145*b4fe7398SJon Pan-Doh
146*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer/nonfatal_ratelimit_interval_ms
147*b4fe7398SJon Pan-DohDate:		May 2025
148*b4fe7398SJon Pan-DohKernelVersion:	6.16.0
149*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org
150*b4fe7398SJon Pan-DohDescription:	Writing 0 disables AER non-fatal uncorrectable error log
151*b4fe7398SJon Pan-Doh		ratelimiting. Writing a positive value sets the ratelimit
152*b4fe7398SJon Pan-Doh		interval in ms. Default is DEFAULT_RATELIMIT_INTERVAL
153*b4fe7398SJon Pan-Doh		(5000 ms).
154*b4fe7398SJon Pan-Doh
155*b4fe7398SJon Pan-DohWhat:		/sys/bus/pci/devices/<dev>/aer/nonfatal_ratelimit_burst
156*b4fe7398SJon Pan-DohDate:		May 2025
157*b4fe7398SJon Pan-DohKernelVersion:	6.16.0
158*b4fe7398SJon Pan-DohContact:	linux-pci@vger.kernel.org
159*b4fe7398SJon Pan-DohDescription:	Ratelimit burst for non-fatal uncorrectable error logs.
160*b4fe7398SJon Pan-Doh		Writing a value changes the number of errors (burst)
161*b4fe7398SJon Pan-Doh		allowed per interval before ratelimiting. Reading gets the
162*b4fe7398SJon Pan-Doh		current ratelimit burst. Default is DEFAULT_RATELIMIT_BURST
163*b4fe7398SJon Pan-Doh		(10).
164