lkml.org 
[lkml]   [2007]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: long disable of Softirqs in br_forward_delay_timer_expired()
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
------------------------------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-01-19 11:23    [W:0.034 / U:1.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site