Scroll to navigation

SOFTIRQSLOWER(8) Linux Performance Analysis SOFTIRQSLOWER(8)

NAME

softirqslower - Trace softirq handlers with latency exceeding a threshold

SYNOPSIS

softirqslower.py [min_us]
softirqslower.py [-c CPU] [min_us]

DESCRIPTION

The softirqslower tool traces softirq events that exceed a specified latency threshold. This tool helps diagnose interrupt handling bottlenecks by measuring two critical latency dimensions:

  • irq(hard) to softirq: Time delay between hardware interrupt completion and softirq execution start
  • softirq runtime: Actual execution duration of softirq handlers

Developed as part of the BCC (BPF Compiler Collection) tools, it's particularly useful for network stack optimization, scheduler tuning, and real-time systems analysis.

OPTIONS

Minimum latency threshold to trace (in microseconds). Default: 10,000 μs (10 ms)
Trace only events on the specified CPU core

OUTPUT FORMAT

The tool outputs events in the following table format:

TIME STAGE SOFTIRQ LAT(us) CPU COMM

With fields defined as:

Event timestamp (HH:MM:SS format)
Latency measurement type:
Time from hardware interrupt completion to softirq dispatch
SoftIRQ handler execution duration
SoftIRQ category (case-sensitive). Common values:
Network reception processing
Network transmission processing
Timer callbacks
Scheduler operations
Read-Copy-Update synchronization
Deferred task execution
High-resolution timers
Block device operations
Measured latency in microseconds
CPU core where softirq was handled (0-based numbering)
Process context handling the softirq:
Idle thread for CPU N
Softirq daemon for CPU N
<process>
User-space process

EXAMPLES

softirqslower 10
softirqslower -c 1
softirqslower 50 | grep -E 'net_rx|net_tx'
softirqslower 100 | grep rcu > rcu_latency.log

SIGNALS

Ctrl+C Stop tracing and exit gracefully

AUTHOR

Chenyue Zhou

SEE ALSO

runqslower(8), hardirqs(8), softirqs(8), trace(8), funclatency(8),

REPORTING BUGS

BCC Tools Issue Tracker: https://github.com/iovisor/bcc/issues

2025-07-08 BCC Tools