Results 1 to 2 of 2
  1. #1
    ROG Member Array janos666 PC Specs
    janos666 PC Specs
    MotherboardZ370 Prime-A
    Memory (part number)G.Skill F4-3200CL14-16GVR (2x16Gb)
    Graphics Card #1MSI GTX1070 SH EK X
    Sound CardDenon 2808 (HDMI AVR)
    MonitorLG 55C7V
    Storage #1Samsung PM961
    CPU CoolerEKI Z270 monoblock
    Power SupplyCorsair AX860
    Keyboard Filco Mayestouch 2
    Mouse Logitech G900
    Mouse Pad Roccat Alumic
    OS Win10 Pro
    Network RouterCustom x86_64 Gentoo based home server

    Join Date
    Dec 2017

    Disabling the C1 state (not C1E)

    When I set the C-state control to Disabled and the CFG Lock to Enabled in the UEFI Setup (so the Windows CPU-idle driver should not be able to re-enable any C-states) the CPU still seems to use C1 (basically clock gated HALT state) besides C0 (full clock operation).
    The same goes for Enabling C-state control (in the UEFI Setup) and setting everything to Disabled or the lowest state on the list (in practice that's a lot of "Disabled" and a single "C0/C1" for package C-states).

    Before everybody starts picking on me with sane criticism, I am well aware that C1<->C0 is very fast and should never cause any significant/observable latency increase or performance decrease (and yes, I know, I should always be running with max power savings to save the holy humanity from extinction, blah, blah...). I am mostly just curious why it's not allowed and wish to play with it for testing (just because: why not...?).

    I guess this might has something to do with HyperThreading and Turbo Boost compatibility because both take C-states (at least C1 but possibly deeper C-states as well) into account (at least on certain CPUs in certain situations). However, I don't have HT on the 8600K and Turbo is "unlocked" (the max turbo multiplier is not limited based on the number of active/inactive cores), so it should be fine to disable C1 (I think).

    I couldn't find any Windows utilities for this. ThrottleStop can control C1E but that's not the same (C1 is not C1E, these are different).
    On Linux, the intel_idle driver allows me to force a POLL state (sometimes called MWAIT) which is basically C0 (if I am correct) by setting /dev/cpu_dma_latency to 0 (and keeping it open with a small program).

    Would it be possible to include a switch in the UEFI Setup for C1 control?
    If not, is there any equivalent on Windows to Linux's intel_idle? Or does Windows still use ACPI for CPU-idle control on modern Intel CPUs (and is it missing the C1 control override)? (I think the Linux driver works starting from SandyBrige and up to CoffeeLake.)

    Ohh, never mind, a I think I found a solution for Windows:
    Last edited by janos666; 08-07-2018 at 09:29 PM.

  2. #2
    ROG Guru: White Belt Array
    Join Date
    May 2011

    Here is a registry mod to disable everything except C0 and C1.

    Maybe you can play with that registry value and disable C1 too.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts