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