Messages in this thread | | | Subject | Re: [patch 1/3] fastboot: Create a "asynchronous" initlevel | From | Daniel Walker <> | Date | Fri, 18 Jul 2008 21:11:37 -0700 |
| |
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
| |