[stable 9] broken hwpstate calls
Andriy Gapon
avg at FreeBSD.org
Thu Jun 7 08:10:37 UTC 2012
on 07/06/2012 02:02 Jung-uk Kim said the following:
> Any way, hwpstate still isn't quite right even without your patch.
>
> sys/kern/kern_cpu.c cpufreq_curr_sysctl() -> CPUFREQ_SET() -> /* for all
> CPU devices */ cf_set_method() -> /* thread_lock(), sched_bind(), ... */
> CPUFREQ_DRV_SET() -> sys/x86/cpufreq/hwpstate.c hwpstate_set() ->
> hwpstate_goto_pstate() /* for each CPU unit */ /* thread_lock(),
> sched_bind(), ... */
Oh, I didn't realize that there was the cpufreq-level loop over all CPUs!
That really sucks.
Maybe some day we should accept that different CPUs could legitimately be in
different P-states and provide support for that throughout the stack (from
powerd to drivers).
--
Andriy Gapon
More information about the freebsd-stable
mailing list