Re: NOHZ: local_softirq_pending 08

From: Francois Romieu
Date: Wed Jun 06 2012 - 01:52:28 EST


Dave Jones <davej@xxxxxxxxxx> :
[...]
> with these patches applied, I get a lot of spew in dmesg like ..

Yes, I only set up a single array for the irq instead of a real ring
and pipe in debugfs. You can change RTL_DEBUG_EVENT_RING_SIZE (4 bytes
per timestamp + event record). seq_file will grow its buffer when it
overflows.

[...]
> [ 99.730789] r8169 0000:01:00.0: eth0: event ring full.
> [ 99.887643] r8169 0000:01:00.0: eth0: event ring full.
> [ 103.798861] net_ratelimit: 43 callbacks suppressed
>
> over and over..

You can remove the message in 'rtl_trace_event'

[...]
> > 'ip link set dev 8168b-lom up' + 'cat /sys/kernel/debug/tracing/trace':
>
> What tracer do I need to configure to get make this work ? irqsoff ?

'function'

My sequence was:

echo 0 > tracing_on
echo nop > current_tracer
echo 10000 > buffer_size_kb
echo function > current_tracer
echo rtl* > set_ftrace_filter
echo r8169* >> set_ftrace_filter
echo tick_nohz_stop_sched_tick >> set_ftrace_filter

I only enabled tracing_on right before 'ip link ... up'.
tick_nohz_stop_sched_tick fills the log rather fast.

[...]
> finally, /sys/kernel/debug/r8169/ is empty.

I temporary saw it once too. Don't ask why.

Do things look like:

$ objdump --syms drivers/net/ethernet/realtek/r8169.ko | grep -E 'rtl_debug_(show|fops)_([rt]x|irq)'
000000000000346d l F .text 0000000000000087 rtl_debug_show_irq
0000000000009bdc l F .text 00000000000000a0 rtl_debug_show_tx
000000000000355a l F .text 0000000000000063 rtl_debug_show_rx
00000000000019e0 l O .rodata 00000000000000d0 rtl_debug_fops_rx
0000000000001ab0 l O .rodata 00000000000000d0 rtl_debug_fops_tx
0000000000001b80 l O .rodata 00000000000000d0 rtl_debug_fops_irq

--
Ueimor

(off to work)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/