Re: [PATCH] v4 Teach RCU that idle task is not quiscent state atboot

From: Paul E. McKenney
Date: Wed Feb 25 2009 - 12:37:04 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/