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

From: Daniel Walker
Date: Fri Jul 18 2008 - 21:22:36 EST


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

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