Back to Linux

Subsystem Trace Points: PCI

Documentation/trace/events-pci.rst

7.02.1 KB
Original Source

.. 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

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