Skip to content

Show peak PCIe RX/TX throughput in the device header#482

Open
Basavaraja-MS wants to merge 1 commit into
Syllo:masterfrom
Basavaraja-MS:pcie-header-peak
Open

Show peak PCIe RX/TX throughput in the device header#482
Basavaraja-MS wants to merge 1 commit into
Syllo:masterfrom
Basavaraja-MS:pcie-header-peak

Conversation

@Basavaraja-MS

@Basavaraja-MS Basavaraja-MS commented Jun 18, 2026

Copy link
Copy Markdown

Summary

Tracks the maximum PCIe RX and TX throughput observed since launch and displays it next to the instantaneous values in the device header:

PCIe GEN 5@16x RX: 1.2 GiB/s (max 57.5 GiB/s) TX: 48.3 MiB/s (max 59.8 GiB/s)

This makes transient transfer peaks visible at a glance when diagnosing bus bottlenecks, without having to watch the live value.

  • Adds pcie_rx_peak / pcie_tx_peak to struct device_window (zero-initialized via the existing calloc; they persist across terminal resize since the struct isn't reallocated).
  • The RX/TX rendering is refactored into a single print_pcie_throughput_with_peak() helper used for both directions (removes the prior copy-paste).
  • The peak resets only when nvtop restarts.

Note: header width

The PCIe header field is widened (46 → 88 columns) to fit the extra value, which increases each device panel's width. On a single wide terminal this is fine; on narrow or dense multi-GPU layouts it reduces how many panels fit per row. This is why the change is split out from the chart feature (#268 / the companion PR). Happy to make it opt-in via a config toggle if preferred.

Made with Cursor

Track the maximum PCIe receive and transmit throughput observed since
launch and display it next to the instantaneous values, e.g.
"RX: 1.2 GiB/s (max 57.5 GiB/s)". This makes transient transfer peaks
visible at a glance when diagnosing bus bottlenecks.

The PCIe header field is widened to fit the additional value. The peak
is reset only when nvtop restarts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant