Linux noobe exploring the possibilities of Ubuntu.

My question is, how to undervolt my Dell E6530 with a core i7-3720QM? I'm running Ubuntu 16.04LTS (Loving it!) and read the posts on here relevant to my question. They suggest installing TLP, which I have done. Reading the TLP documents, undervolting with TLP requires installing PHC. Running through the PHC install it is apparent there is not a version suitable for the later model core i Intel CPUs as they use P-states. PHC would also not install for my Kernel version (4.4)

From PHC wiki page "Note: Current Intel core i CPUs use Intel P-states instead of acpi_cpufreq and are therefor not compatible with PHC."

So if PHC (and therefore TLP?) can't be used to undervolt, how do I do it on the more current generations of Intel CPUs? (or just my Ivy bridge gen)

To be clear I'm looking at a pure undervolt, not just changing frequencies (although the flexibility to do both is desirable).

Thanks in advance for any and all help, Nigel

  • Neither an answer nor a critique, just personal curiosity: Why do you want to do that? – user589808 Oct 22 '16 at 22:20
  • I travel a lot, any extra battery life I can squeeze out of this machine the better. But as I do both data analysis (in Python) and CAD design, I don't just want to throttle back my CPU. I've had good success undervolting CPU's in the past and while I know the gains are diminishing with newer generation models there are still gains to be had and it costs nothing. – Nigel Oct 22 '16 at 22:25
  • Fair enough :) and good luck. – user589808 Oct 22 '16 at 22:26

So if PHC (and therefore TLP?) can't be used to undervolt

… then no one is working to support it and it can't be done – yet, probably never. To my knowledge PHC and TLP are independent projects they just complement each other in some setups.

Here is a description from the Arch wiki about PHC:

PHC is an acpi-cpufreq patch built with the purpose of enabling undervolting on your processor.

Also note there has never been a guaranteed result, according to the PHC website:

This is possible because we utilize the production tolerance of a CPU. CPUs have different production qualities so the vendor defines voltages every CPU -even those with low quality- will work with. If your CPU is of higher quality you can easily run it with lower voltages without getting unstable.

Wikipedia explains what P-states are: a range of states that define clock frequency and power consumption, which includes voltage scaling, e.g. under or overvolting (boost).

These states are implementation-dependent.

Read this like: when Intel introduced "P-states" they implemented a design to take more control over dynamic frequency and voltage scaling, handing over control from the OS or user back to the CPU. Early implementations of this technology – if you remember – only allowed the OS to tell a "dumb" processor to not run at full clock speed all the time. Intel went further with Skylake introducing Speed Shift and with that taking away even more control over the processor from the OS/user in order minimize delays and squeeze as much performance and energy consumption out of their current designs with the state of the art.

Edit: This sounds like a praise of Intel and you might argue that a user should still have control over these parameters. Consider this from Intel's perspective: absolute control over the product. They also removed the option to choose a CPU clock multiplier on their mainstream models and only enable it on the expensive models.

  • I'm not wanting to get into a debate over the merits or risks of undervolting and overclocking. I'm an experienced undervolter and the lower temperatures and longer battery life for no financial outlay are something I enjoy. Ivy bridge in particular has a strong power & temperature gradient to voltage so small tweaks can make a big difference. – Nigel Oct 23 '16 at 13:04
  • Here is a link to a site looking into the topic if you want to invetigage for yourself anandtech.com/show/5763/… – Nigel Oct 23 '16 at 13:05
  • The question remains, if TLP and PHC can't be used. Is there an alternative method? – Nigel Oct 23 '16 at 13:06
  • I only said "no one is working to support it" … to my knowledge. – LiveWireBT Oct 23 '16 at 13:09
  • Thanks LiveWireBT, it seems that may unfortunately be the case. My google searches have been fruitless to date. There are applications for windows machines (RMClock etc.) but it seems like something the Linux community just isn't interested in. I did notice that in stock trim Ubuntu idles my cpu cooler than windows by around 15 deg C so that's something but I'm still hitting 95C on cpu intensive tasks. I'll keep checking back here in case the situation changes. – Nigel Oct 23 '16 at 13:36

Here is a PHC module compatible with 4.4 (and up to 4.10): http://www.linux-phc.org/forum/viewtopic.php?f=7&t=267

But you are correct in that it is not compatible with intel p-states. However, I found a guide for Windows (http://www.ultrabookreview.com/10167-laptop-undervolting-overcloking/), so the goal would be to port this to linux. It is easier said than done obviously. Note that they set a voltage offset instead of setting the voltage directly. My assumption is that they are trying to lower the scaling values of the p-states, since direct control is not possible (or not recommended).

Hopefully someone will be reading this and decide to tackle this issue...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.