• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

C1E causes random cpu cores to drop to 400mhz for a fraction of a second, is this normal?

Alexandru.batog

New Member
Joined
Jan 14, 2021
Messages
1 (0.00/day)
I have a gaming laptop with an I7-12700H and I noticed recently while monitoring some games with MSI Afterburner, that individual cores randomly drop to 400mhz at random intervals of 15 to 30 seconds. I modified the polling rate to 100ms and saw that the drops are happening within a shorter time of 5-10 seconds.

This happens both in games and while idling, but from what I've seen it doesn't happen when overall CPU usage is above a certain percentage since in cpu intensive games/programs and during stress tests, the clock speeds are stable and never drop unless thermal throttling occurs. It also happens across all the cores, regardless of usage. I wasn't really able to capture the issue with TS; even with "more data" enabled, but HWinfo was able to capture the fluctuations more clearly as you can see the minimum clock speed values. Over the course of an hour of gaming/idling/browsing, all the cores were at 400mhz at some point.

From what I've read online about the C1E, I understand it's supposed to be a power saving feature for Intel CPU's so it shouldn't impact performance in any way during use, unless it causes the cpu to lower the speed incorrectly even if the core has a high usage at that moment. I tested to see if this causes any microstuttering in games because a few of them always had small stutters since I bought the laptop, but it doesn't seem to make any difference: the games that used to stutter still stutter the same way, and the ones that never did play just fine; although I wasn't able to test all of them, in particular DOOM Eternal, the only game that had microstuttering at fixed intervals of a few seconds caused by cpu frametime spikes.

Disabling C1E in TS makes the clock speeds stay near max. all the time, and fixes the drops but I'm not sure if leaving this option off could cause any issues besides the near maxed clockspeed that can be lowered with speedshift anyway. So my question is, could something be wrong with my cpu that makes it lower clockspeeds when it shouldn't or is this normal behaviour on intel cpu's that have c1e enabled to save some power? It just seems odd to me that even the cores with the highest usage are affected, not only the unused ones.

As a sidenote: There is also an "edp other" signal under the ring limits that alternates between yellow, red and disappearing completely every few seconds. It seems to go away if I lower the cache ratio from 40 to 36 or the speedshift max value from 60 to 52. I think the cpu tries to keep the cache ratio to 36 as this causes fluctuations between 36-40 and that's why it triggers. Not sure, but the edp other throttling doesn't seem to cause any issue and I think it's completely unrelated to the core speed drops because whether or not the warning triggers, the speed slow downs still happen.

I apologize for any spelling errors or coherence in writing, and I hope my post is as clear as it can be considering English is not my first language.
 

Attachments

  • lower speeds.png
    lower speeds.png
    106.8 KB · Views: 132
  • temps.png
    temps.png
    66.8 KB · Views: 148
  • TPL and main window.png
    TPL and main window.png
    62.6 KB · Views: 141
  • FIVR.png
    FIVR.png
    59.8 KB · Views: 148
  • C1E disabled speeds.png
    C1E disabled speeds.png
    103.6 KB · Views: 176
  • edp warning.png
    edp warning.png
    60.1 KB · Views: 140
  • edp warning 2.png
    edp warning 2.png
    66.1 KB · Views: 145

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
8,348 (1.35/day)
When a core enters C1E, the actual clock speed drops to 0 MHz. There is no way to accurately monitor this. If you wake a core up to query its speed, it is no longer in C1E. If you leave a core in C1E, it is at 0 MHz. Some monitoring software has decided to report C state activity as the CPU running at its minimum speed which is 400 MHz. That does not accurately show what the CPU is really doing internally.

Over the course of an hour of gaming/idling/browsing, all the cores were at 400mhz at some point.
All that means is you have the C states enabled and inactive cores are entering the various low power C states. A task at any moment does not necessarily run continuously on the same core. Tasks are being rescheduled multiple times per second and at any time, a task can be rescheduled on any available core. The scheduling of tasks can be very dynamic. Any remaining cores will become inactive which means they will drop down to 0 MHz.

You can disable all of the C states if you do not want this to happen but that is not a good idea when you have a mobile CPU. It will run hotter and disabling the C states prevents Intel Turbo Boost from working correctly. That means your CPU will run slower when lightly loaded if you disable the C states. Having C1E enabled or disabled makes virtually zero difference to anything. It might change what monitoring software reports but it does not significantly change what the CPU package is doing internally. Modern CPUs would prefer spending their inactive time in one of the deeper C states so they can save more power. C1E is rarely used if core C3, C6 and C7 are available.

it doesn't seem to make any difference
That is usually true. There is rarely any reason to disable the C states on a laptop. Some people that use their laptops for music production disable the C states to minimize latency. Most other laptop users should leave the C states enabled. C1E enabled or disabled is up to you. C1E does not interfere with Intel Turbo Boost.

It just seems odd to me that even the cores with the highest usage are affected, not only the unused ones.
MSI Afterburner and HWiNFO sample your CPU once per second. Individual cores and threads are entering and exiting various C states hundreds of times per second. Some monitoring programs that are taking a snapshot of your CPU's performance once every second might show data that is misleading at times. Cores that enter low power C states are not actually running at 400 MHz.

edp other
Intel disabled FIVR voltage control in the 12700H mobile CPUs. That means you can no longer use ThrottleStop to increase the IccMax current limits. Some random EDP throttling is the result. If you use ThrottleStop to lower the ring / cache speed, this will reduce current and power consumption so there will be less reason for the CPU to EDP throttle.

I noticed recently while monitoring some games with MSI Afterburner
This is not an accurate source of information when an Intel CPU is rapidly changing speeds. This can happen if the CPU is power limit throttling or thermal throttling or using Intel turbo boost or when a CPU package is partially loaded. The ThrottleStop log file is a much better source of information. Learn to read the ThrottleStop log file data and you will have a much better idea of what your CPU was really doing during a gaming session.
 
Last edited:
Top