[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