none
Disabling CPU Idle C-States lowers CPU clock frequency RRS feed

  • Question

  • Hello, 

    We're developing a Windows Thunderbolt driver for an audio interface. In order to deliver high performance and low audio latency, we're trying to lower the system's interrupt latency. 
    Once of the ways we do this is by disabling the CPU Idle C-States. We're using the power management API (PowerWriteACValueIndex() and PowerSetActiveScheme()) to set the following:
    GUID_PROCESSOR_IDLE_ALLOW_SCALING = False, 
    GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD = 100, //
    GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD = 100. 
    All the other options of the High Performance power plan are left unchanged. 

    Also, we tried using GUID_PROCESSOR_IDLE_STATE_MAXIMUM, but it doesn't seem to have any effect.

    This used to work fine when Windows 1803 was released, but after one of the updates (sadly, don't know which exactly), when the above settings are applied, the CPU clock frequency is lowered. 

    On an Intel Core i5-7400 CPU @ 3.00GHz, on High Performance power plan, the CPU is usually at 3.40GHz, and doesn't go below 3.29GHz. But when CPU idle C-states are disabled, the CPU speed goes below 3.00GHz, down to 2.40GHz. 

    Is there any way to disable CPU idle C-states without lowering the CPU frequency? Disabling the idle C-states from the BIOS is not always an option (especially for laptop users). 

    Thank you!

    Best regards,
    Svetoslav Enchev

    • Moved by Baron Bi Thursday, October 18, 2018 3:19 AM
    Monday, October 8, 2018 3:16 PM

All replies

  • Hi,

    thanks for posting here.

    This forum is about desktop application development. For your case which is more related to driver development, I will move your case to Windows hardware and driver development forum for better support.

    Your understanding and cooperation will be grateful.

    Best Regards,

    Baron Bi


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Tuesday, October 9, 2018 1:56 AM
  • Hello, 

    The issue is in the user-space component of the driver (ASIO library), and the mentioned Power Management API is part of the Windows SDK, not the WDK. So I believe Desktop application development was the more appropriate place to post the questions. However, I'm not familiar with the forum, so I'm trusting your judgement on where is the highest change I'll get an answer. 

    Since I consider this behavior as a bug/regression, I've also submitted a feedback with the link to this post on Feedback Hub. 

    Best regards,
    Svetoslav Enchev
    Tuesday, October 9, 2018 8:24 AM
  • Try also to ask on the Intel forums.

    -- pa



    • Edited by Pavel A Thursday, October 11, 2018 1:53 PM
    Thursday, October 11, 2018 1:49 PM