* long disable of Softirqs in br_forward_delay_timer_expired()
@ 2007-01-18 13:44 Juergen Pfeiffer
2007-01-19 9:35 ` Juergen Pfeiffer
0 siblings, 1 reply; 2+ messages in thread
From: Juergen Pfeiffer @ 2007-01-18 13:44 UTC (permalink / raw)
To: linux-kernel
Hi
I had problems in my implementation of Profibus-protocol, because my
FDL-State machine is implemented in tasklets and
sometimes there were situations, where Soft-Irqs were disabled for
20-40mS (Coldfire 5485 / 96MHz).
After inserting some testpoints in kernels source, doing dump_stack(),
when the jiffie-time get longer then 20mS,
i detected the place of the long Soft-Irq disable in function
static void br_forward_delay_timer_expired(..)
inside file "net/bridge/br_stp_timer.c"
It does a
spin_lock_bh(..);
... some functionality;
spin_unlock_bh(..);
Does anybody know, why the functionality inbetween lock/unlock takes so long
(2-4 jiffies @ HZ=100)
Thank You
Juergen Pfeiffer,
Seskion GmbH
Karlsruher Str. 11/1
70771 Leinfelden-Echterdingen
Germany
j.pfeiffer@seskion.de
www.seskion.de
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: long disable of Softirqs in br_forward_delay_timer_expired()
2007-01-18 13:44 long disable of Softirqs in br_forward_delay_timer_expired() Juergen Pfeiffer
@ 2007-01-19 9:35 ` Juergen Pfeiffer
0 siblings, 0 replies; 2+ messages in thread
From: Juergen Pfeiffer @ 2007-01-19 9:35 UTC (permalink / raw)
To: linux-kernel
Juergen Pfeiffer schrieb:
>
> I had problems in my implementation of Profibus-protocol, because my
> FDL-State machine is implemented in tasklets and
> sometimes there were situations, where Soft-Irqs were disabled for
> 20-40mS (Coldfire 5485 / 96MHz).
> After inserting some testpoints in kernels source, doing dump_stack(),
> when the jiffie-time get longer then 20mS,
> i detected the place of the long Soft-Irq disable in function
>
> static void br_forward_delay_timer_expired(..)
> inside file "net/bridge/br_stp_timer.c"
>
> It does a
> spin_lock_bh(..);
> ... some functionality;
> spin_unlock_bh(..);
Hi
I found the reason for the long disabling of Soft-Irqs:
In-between the spin_lock_bh() and spin_unlock_bh() was a printk() going
to serial console with 19200baud.
So it took easily 30mS for console-output.
No i start klogd an the log Messages go to a file in tmpfs in a short time.
Juergen Pfeiffer,
Seskion GmbH
Karlsruher Str. 11/1
70771 Leinfelden-Echterdingen
Germany
j.pfeiffer@seskion.de
www.seskion.de
------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-01-19 9:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-18 13:44 long disable of Softirqs in br_forward_delay_timer_expired() Juergen Pfeiffer
2007-01-19 9:35 ` Juergen Pfeiffer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox