[Bug 256261] TSC-low hardware timer breaks C-States on Intel Core2 generation of CPUs

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 30 May 2021 12:52:16 +0000
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256261

            Bug ID: 256261
           Summary: TSC-low hardware timer breaks C-States on Intel Core2
                    generation of CPUs
           Product: Base System
           Version: 13.0-STABLE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs_at_FreeBSD.org
          Reporter: freebsd_at_frost.kiwi

FreeBSD users with an Intel Core2 CPU have reported broken C-states for a while
now, as originally reported here:
https://forums.freebsd.org/threads/c-states-not-used.66192/
The CPU would refuse to enter any C-state higher than C1. As a result power
consumption suffered.
Luckily this is a known issue in DragonFlyBSD, with hardware timers being at
fault ( https://www.dragonflybsd.org/docs/user/Powersave/#index1h2 ).

The fix for FreeBSD is simpler: Simply changing the hardware time to anything
other than TSC-low fixes the issue and the CPU enters C2 and higher. Eg.
kern.timecounter.hardware=HPET 

A quick workaround would be to disable the TSC-low timer on all Intel Core2
CPUs, by lowering it's timecounter.choise score.

-- 
You are receiving this mail because:
You are the assignee for the bug.
Received on Sun May 30 2021 - 12:52:16 UTC

Original text of this message