Messages in this thread |  | | | Date | Sun, 12 Dec 2004 21:22:13 -0800 | | From | George Anzinger <> | | Subject | Re: RCU question |
| |
Manfred Spraul wrote: > George Anzinger wrote: > >> >> The "normal" idle loop just looks at the need_resched flag and goes >> right back to the hlt, > > > That's the problem: If a the tasklet does a wakeup then the reschedule > is delayed until the next interrupt.
Not so. On the interrupt that runs the tasklet, on the way out via entry.S, the need_resched flag is checked and acted on. Thus the task switch is done prio to getting back to the hlt.
> Testing need_resched and executing > hlt must be atomic, but it isn't - NMIs break the atomicity.
Actually this is not required, especially if preemption is turned on.
> Not a big deal, except if someone implements a tickless kernel.
Well, it is not tickless, but VST that I am working on :). The notion is to turn off the ticks when in idle and there are not time events in the list.
I think > we can ignore it for now [or was the thread started by someone who > want's to disable the hardware timer when the system is really idle?]
Yep, me! But still, I keep a timer around to exit, it is just way more than a tick later (depending on what the next entry in the time list needs). >
-- 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/
|  |