Re: long disable of Softirqs in br_forward_delay_timer_expired()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[email protected]

www.seskion.de
------------------------------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux