[patch] cpufreq: mark cpufreq_tsc() as core_initcall_sync

From: Ingo Molnar
Date: Thu Nov 16 2006 - 15:16:53 EST



* Thomas Gleixner <tglx@xxxxxxxxxxx> wrote:

> [PATCH] cpufreq: make the transition_notifier chain use SRCU
> (b4dfdbb3c707474a2254c5b4d7e62be31a4b7da9)
>
> breaks cpu frequency notification users, which register the callback
> on core_init level. Interestingly enough the registration survives the
> uninitialized head, but the registered user is lost by:

i have hit this bug in -rt (it caused a lockup) and have fixed it -
forgot to send it upstream. Find the patch below.

Ingo

---------------->
From: Ingo Molnar <mingo@xxxxxxx>
Subject: [patch] cpufreq: mark cpufreq_tsc() as core_initcall_sync

init_cpufreq_transition_notifier_list() should execute first, which is a
core_initcall, so mark cpufreq_tsc() core_initcall_sync.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

--- linux.orig/arch/x86_64/kernel/tsc.c
+++ linux/arch/x86_64/kernel/tsc.c
@@ -138,7 +138,11 @@ static int __init cpufreq_tsc(void)
return 0;
}

-core_initcall(cpufreq_tsc);
+/*
+ * init_cpufreq_transition_notifier_list() should execute first,
+ * which is a core_initcall, so mark this one core_initcall_sync:
+ */
+core_initcall_sync(cpufreq_tsc);

#endif
/*
-
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/