Re: [patch 1/3] fastboot: Create a "asynchronous" initlevel

From: Daniel Walker
Date: Sat Jul 19 2008 - 00:13:29 EST


On Fri, 2008-07-18 at 20:44 -0700, Arjan van de Ven wrote:
> On Fri, 18 Jul 2008 18:22:20 -0700
> Daniel Walker <dwalker@xxxxxxxxxx> wrote:
>
> > On Fri, 2008-07-18 at 15:16 -0700, Arjan van de Ven wrote:
> > > +static void __init do_initcalls(void)
> > > +{
> > > + initcall_t *call;
> > > + static DECLARE_WORK(async_work, do_async_initcalls);
> > > + int phase = 0; /* 0 = levels 0 - 6, 1 = level 6a, 2 = after
> > > level 6a */
> > > +
> > > + async_init_wq = create_singlethread_workqueue("kasyncinit");
> > > +
> >
> > Could you spawning one thread per cpu, and queuing the work evenly?
>
> not without loosing the ordering.....
>

I don't think there is any expectation for any given initcall to have a
special ordering .. There is an ordering expectation for say initcall 6
runs before 6a , but not within the initcall ..

Daniel

--
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/