mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:24:47 +01:00
The PCI tracing system provides tracepoints to monitor critical hardware events that can impact system performance and reliability. Add documentation about it. Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com> [bhelgaas: squash fixes: https://lore.kernel.org/r/20260108013956.14351-2-bagasdotme@gmail.com https://lore.kernel.org/r/20260108013956.14351-3-bagasdotme@gmail.com] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Link: https://patch.msgid.link/20251210132907.58799-4-xueshuai@linux.alibaba.com
74 lines
2.1 KiB
ReStructuredText
74 lines
2.1 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
===========================
|
|
Subsystem Trace Points: PCI
|
|
===========================
|
|
|
|
Overview
|
|
========
|
|
The PCI tracing system provides tracepoints to monitor critical hardware events
|
|
that can impact system performance and reliability. These events normally show
|
|
up here:
|
|
|
|
/sys/kernel/tracing/events/pci
|
|
|
|
Cf. include/trace/events/pci.h for the events definitions.
|
|
|
|
Available Tracepoints
|
|
=====================
|
|
|
|
pci_hp_event
|
|
------------
|
|
|
|
Monitors PCI hotplug events including card insertion/removal and link
|
|
state changes.
|
|
::
|
|
|
|
pci_hp_event "%s slot:%s, event:%s\n"
|
|
|
|
**Event Types**:
|
|
|
|
* ``LINK_UP`` - PCIe link established
|
|
* ``LINK_DOWN`` - PCIe link lost
|
|
* ``CARD_PRESENT`` - Card detected in slot
|
|
* ``CARD_NOT_PRESENT`` - Card removed from slot
|
|
|
|
**Example Usage**::
|
|
|
|
# Enable the tracepoint
|
|
echo 1 > /sys/kernel/debug/tracing/events/pci/pci_hp_event/enable
|
|
|
|
# Monitor events (the following output is generated when a device is hotplugged)
|
|
cat /sys/kernel/debug/tracing/trace_pipe
|
|
irq/51-pciehp-88 [001] ..... 1311.177459: pci_hp_event: 0000:00:02.0 slot:10, event:CARD_PRESENT
|
|
|
|
irq/51-pciehp-88 [001] ..... 1311.177566: pci_hp_event: 0000:00:02.0 slot:10, event:LINK_UP
|
|
|
|
pcie_link_event
|
|
---------------
|
|
|
|
Monitors PCIe link speed changes and provides detailed link status information.
|
|
::
|
|
|
|
pcie_link_event "%s type:%d, reason:%d, cur_bus_speed:%d, max_bus_speed:%d, width:%u, flit_mode:%u, status:%s\n"
|
|
|
|
**Parameters**:
|
|
|
|
* ``type`` - PCIe device type (4=Root Port, etc.)
|
|
* ``reason`` - Reason for link change:
|
|
|
|
- ``0`` - Link retrain
|
|
- ``1`` - Bus enumeration
|
|
- ``2`` - Bandwidth notification enable
|
|
- ``3`` - Bandwidth notification IRQ
|
|
- ``4`` - Hotplug event
|
|
|
|
|
|
**Example Usage**::
|
|
|
|
# Enable the tracepoint
|
|
echo 1 > /sys/kernel/debug/tracing/events/pci/pcie_link_event/enable
|
|
|
|
# Monitor events (the following output is generated when a device is hotplugged)
|
|
cat /sys/kernel/debug/tracing/trace_pipe
|
|
irq/51-pciehp-88 [001] ..... 381.545386: pcie_link_event: 0000:00:02.0 type:4, reason:4, cur_bus_speed:20, max_bus_speed:23, width:1, flit_mode:0, status:DLLLA
|