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

Daniel Walker
2008-07-19T04:11:47Z

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@mvista.com> 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