lkml.org 
[lkml]   [2008]   [Jul]   [19]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSat, 19 Jul 2008 09:53:54 +0200
FromRene Herman <>
SubjectRe: [patch 1/3] fastboot: Create a "asynchronous" initlevel
On 19-07-08 00:16, 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");
> +
> +	for (call = __initcall_start; call < __initcall_end; call++) {
> +		if (phase == 0 && call >= __async_initcall_start) {
> +			phase = 1;
> +			queue_work(async_init_wq, &async_work);
> +		}
> +		if (phase == 1 && call >= __async_initcall_end)
> +			phase = 2;
> +		if (phase != 1)
> +			do_one_initcall(*call);
> +	}

I'm not sure about this comment, being not very sure about the semantics 
of late_initcall but shouldn't late_initcall (level 7) wait for 6s to 
have completed?

Rene.


\
 
 \ /
  Last update: 2008-07-19 09:55    [from the cache]
©2003-2008