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

Daniel Walker
2008-07-19T01:22:34Z

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