子系统跟踪点:PCI¶
概述¶
PCI 跟踪系统提供了用于监视可能影响系统性能和可靠性的关键硬件事件的跟踪点。这些事件通常出现在这里
/sys/kernel/tracing/events/pci
有关事件定义,请参阅 include/trace/events/pci.h。
可用跟踪点¶
pci_hp_event¶
监视 PCI 热插拔事件,包括卡插入/移除以及链路状态更改。
pci_hp_event "%s slot:%s, event:%s\n"
事件类型:
LINK_UP- PCIe 链路已建立LINK_DOWN- PCIe 链路丢失CARD_PRESENT- 检测到插槽中有卡CARD_NOT_PRESENT- 卡已从插槽中移除
使用示例:
# 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¶
监视 PCIe 链路速度更改并提供详细的链路状态信息。
pcie_link_event "%s type:%d, reason:%d, cur_bus_speed:%d, max_bus_speed:%d, width:%u, flit_mode:%u, status:%s\n"
参数:
type- PCIe 设备类型(4=根端口等)reason- 链路更改的原因0- 链路重新训练1- 总线枚举2- 带宽通知启用3- 带宽通知 IRQ4- 热插拔事件
使用示例:
# 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