Understanding SOFT IRQ 1
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Mon May 12 11:18:42 EDT 2025
On 2025-05-09 12:00, David Aldrich via lttng-dev wrote:
> Hi
>
> I am just getting started with LTTng and Trace Compass. I can capture
> Kernel and UST events.
>
> My purpose is to investigate why a periodic task, running on an
> isolated core, has occasional blips i.e. it's period (duration)
> extends.
>
> I have inserted tracepoints to mark normal and extended durations. In
> Trace Compass the blip tracepoint is preceded by a brown state that is
> 'SOFT IRQ 1'. This extends down all cores. It lasts 105us and is
> likely to be the reason for the blip.
>
> Please could someone explain to me what may be happening here and how
> can I find out the reason for this SOFT IRQ?
See include/linux/interrupt.h from the Linux kernel:
enum
{
HI_SOFTIRQ=0,
TIMER_SOFTIRQ,
NET_TX_SOFTIRQ,
NET_RX_SOFTIRQ,
BLOCK_SOFTIRQ,
IRQ_POLL_SOFTIRQ,
TASKLET_SOFTIRQ,
SCHED_SOFTIRQ,
HRTIMER_SOFTIRQ,
RCU_SOFTIRQ, /* Preferable RCU should always be the last softirq */
NR_SOFTIRQS
};
So SOFT IRQ 1 would be TIMER_SOFTIRQ.
Note that we have a TODO in lttng-modules:
lttng_dump_softirq_vec()
Implementing this by dumping this softirq table mapping numbers to names
would be a welcome contribution.
Thanks,
Mathieu
>
> Best regards
> David
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com
More information about the lttng-dev
mailing list