![]() | |||||||||||||
Messages in this thread |
Hi, Alan Cox wrote: > So with pre-empt this happens > > driver magic > disable_irq(dev->irq) > PRE-EMPT: > [large periods of time running other code] > PRE-EMPT: > We get back and we've missed 300 packets, the serial port sharing > the IRQ has dropped our internet connection completely. But it shouldn't deadlock as Victor is suggesting. > There are numerous other examples in the kernel tree where the current code > knows that there is a small bounded time between two actions in kernel space > that do not have a sleep. They are not spin locked, and putting spin locks > everywhere will just trash performance. They are pure hardware interactions > so you can't automatically detect them. Why should spin locks trash perfomance, while an expensive disable_irq() doesn't? bye, Roman - 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: 2005-03-22 12:18 [W:0.720 / U:0.090 seconds] ©2003-2008 Jasper Spaans | |||||||||||||