![]() | |||||||||||||
Messages in this thread |
On Wed, 29 Jun 2005, Manfred Spraul wrote: > Hi, > > One question from Linux-Tag was about the lack of documentation about/in > the kernel. I try to maintain docbook entries when I modify code, even > though I think it's mostly wasted time: Virtually noone reads it anyway, > instead armchair logic on lkml. Hmm, I do like to read the comments, see below. > > Steven wrote: > > >Here we see that task 2 can spin with interrupts off, while the first task > >is servicing an interrupt, and God forbid if the IRQ handler sends some > >kind of SMP signal to the CPU running task 2 since that would be a > >deadlock. Granted, this is a hypothetical situation, but makes using > >spin_lock with interrupts enabled a little scary. > > > > > Not, it's not even a hypothetical situation. It's an explicitely > forbidden situation: SMP signals are sent with smp_call_function and the > documentation to that function clearly says: When I said _hypothetical_ I ment it. That's basically stating that the situation wont happen, but lets pretend that it will. And no, SMP signals (on intel anyway) are sent with send_IPI_* which even smp_call_function uses. > * > * You must not call this function with disabled interrupts or from a > * hardware interrupt handler or from a bottom half handler. > */ > And if you had read my other emails you would have noticed that I even mentioned this particular comment. When I said: "This is probably the reason it is not allowed to call most IPIs from interrupt or bottom half context." Also, a comment doesn't force this, and there's no test in smp_call_function that prevents a user from calling this form a bottom_half! -- Steve - 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-06-30 06:04 [W:0.235 / U:0.070 seconds] ©2003-2008 Jasper Spaans | |||||||||||||