Messages in this thread |  | | Date | Fri, 10 Dec 2004 19:29:18 -0800 | | From | George Anzinger <> | | Subject | Re: RCU question |
| |
Zwane Mwaikambo wrote: > On Fri, 10 Dec 2004, George Anzinger wrote: > > >>>But that's a deadlock and if you enable interrupts you race. >> >>Again, I remind you we are in the idle task. Nothing more important to do. >>Or do you mean that softirq_pending() will NEVER return false? >> >>The other question is: "Is useful work being done?" > > > We're in the idle task but obviously interrupts (such as network) are > still coming in. So you may take an interrupt after your while > (softirq_pending()) loop has exited.
That is ok. Either we have interrupts off and no softirqs are pending and we proceed to the "hlt" (where the interrupt will be taken), or softirqs are pending, we turn interrupts on, do the softirq, turn interrupts off and try again. Unless some tasklet (RCU?) never "gives up" or we will exit the while with interrupts off and move on to the "hlt". Or did I miss something? - George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/
- 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/
|  |