Messages in this thread | | | Subject | Re: [patch 1/3] fastboot: Create a "asynchronous" initlevel | From | Daniel Walker <> | Date | Fri, 18 Jul 2008 18:22:20 -0700 |
| |
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? Maybe that's what your work towards. The "6a" level might be pretty short, but there are some other levels that can get pretty large with calls that would benefit from this.. There are a lot of calls that already spawn threads too ..
Daniel
| |