git: clockmod: Properly implement Intel software controlled clock modulation
Sepherosa Ziehau
sephe at crater.dragonflybsd.org
Sun Feb 16 00:35:10 PST 2014
commit e76f5e7371bbed17f87fd9a2b2f353c2d0beec06
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Wed Feb 12 22:15:29 2014 +0800
clockmod: Properly implement Intel software controlled clock modulation
Compared w/ the out dated p4tcc code in i386:
- Write the MSR on the correct CPU.
- Fix errata detection.
- Enable 6.25% granularity.
- Fix logical CPU setting by introducing clock modulation domain. Each
domain contains logical CPUs in the same core. When changing duty
cycle we change all logical CPUs' duty cycle in the same domain; mainly
to avoid model specific reaction to logical CPU duty cycle change.
It is controlled through machdep.clockmod_domX.select. Members of the
domain are listed by machdep.clockmod_domX.members. And the available
duty cycles are listed by machdep.clockmod_domX.available.
It is enabled in i386 and x86_64 GENERIC.
* We may want to make powerd(8) aware of clockmod(4)
Summary of changes:
sys/conf/files | 1 +
sys/config/GENERIC | 2 +
sys/config/LINT | 3 +
sys/config/LINT64 | 3 +
sys/config/X86_64_GENERIC | 2 +
sys/dev/powermng/Makefile | 2 +-
sys/dev/powermng/clockmod/Makefile | 4 +
sys/dev/powermng/clockmod/clockmod.c | 549 +++++++++++++++++++++++++++++++++++
8 files changed, 565 insertions(+), 1 deletion(-)
create mode 100644 sys/dev/powermng/clockmod/Makefile
create mode 100644 sys/dev/powermng/clockmod/clockmod.c
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e76f5e7371bbed17f87fd9a2b2f353c2d0beec06
--
DragonFly BSD source repository
More information about the Commits
mailing list