Re: BUG: cpufreq notification broken

From: Thomas Gleixner
Date: Thu Nov 16 2006 - 16:07:17 EST


On Thu, 2006-11-16 at 15:27 -0500, Alan Stern wrote:
> > Hmm, there are no static initializers for srcu and the only way to fix
> > this up is to move the arch calls to postcore_init.
>
> If you can find a way to invoke init_cpufreq_transition_notifier_list
> earlier than core_initcall time, that would be okay. I did it this way
> because it was easiest, but earlier should be just as good.
>
> The only requirement is that alloc_percpu() has to be working, so that the
> SRCU per-cpu data values can be set up. I don't know how early in the
> boot process you can do per-cpu memory allocation.
>
> As an alternative approach, initialization of srcu_notifiers could be
> broken up into two pieces, one of which could be done statically. The
> part that has to be done dynamically (the SRCU initialization) wouldn't
> mess up the notifier chain. Provided the dynamic part is carried out
> while the system is still single-threaded, it would be safe.

There is another issue with this SRCU change:

The notification comes actually after the real change, which is bad. We
try to make the TSC usable by backing it with pm_timer accross such
states, but this behaviour breaks the safety code.

tglx






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