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