Messages in this thread | | | Date | Wed, 25 Feb 2009 09:36:49 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH] v4 Teach RCU that idle task is not quiscent state at boot |
| |
On Wed, Feb 25, 2009 at 06:18:42PM +0100, Nick Piggin wrote: > On Wed, Feb 25, 2009 at 09:12:49AM -0800, Paul E. McKenney wrote: > > On Wed, Feb 25, 2009 at 05:26:45PM +0100, Nick Piggin wrote: > > > I wonder if you couldn't leave cpu_rq(cpu)->idle as NULL until right > > > up to the point where it actually becomes the "idle" thread? This > > > would make idle_cpu() more truthful for all other callers in early > > > boot code too. And rcupdate shouldn't need any changes (except the > > > num_online_cpus() == 1 shortcut probably remains as a nice opt). > > > > It looked to me that the idle task initialization was moved early > > to allow interrupt handlers to see a more normal environment, but I > > could easily be confused here. > > I think we might be OK. I think interrupt handlers shouldn't care > so much about whether the cpu is idle or not (and seeing !idle > here would be more accurate anyway).
My impression is that they mostly care about the CPU appearing to be running in the context of a task. I suppose one could create an extra task for this, or leave rq->idle NULL... But I don't have a full set of architectures, let alone devices, with which to test such a change.
Thanx, Paul
| |