![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
(Edit to add: this issue is restricted to the mobile SKUs. Desktop parts have very different power management behaviour)
Linux 4.5 seems to have got Intel's Skylake platform (ie, 6th-generation Core CPUs) to the point where graphics work pretty reliably, which is great progress (4.4 tended to lose all my windows every so often, especially over suspend/resume). I'm even running Wayland happily. Unfortunately one of the reasons I have a laptop is that I want to be able to do things like use it on battery, and power consumption's an important part of that. Skylake continues the trend from Haswell of moving to an SoC-type model where clock and power domains are shared between components that were previously entirely independent, and so you can't enter deep power saving states unless multiple components all have the correct power management configuration. On Haswell/Broadwell this manifested in the form of Serial ATA link power management being involved in preventing the package from going into deep power saving states - setting that up correctly resulted in a reduction in full-system power consumption of about 40%[1].
I've now got a Skylake platform with a nice shiny NVMe device, so Serial ATA policy isn't relevant (the platform doesn't even expose a SATA controller). The deepest power saving state I can get into is PC3, despite Skylake supporting PC8 - so I'm probably consuming about 40% more power than I should be. And nobody seems to know what needs to be done to fix this. I've found no public documentation on the power management dependencies on Skylake. Turning on everything in Powertop doesn't improve anything. My battery life is pretty poor and the system is pretty warm.
The best thing about this is the following statement from page 64 of the 6th Generation Intel ® Processor Datasheet for U-Platforms:
which is pretty concerning. Without support for states deeper than PC3, Linux is running in a configuration that Intel imply may trigger premature failure. That's obviously not good. Until this situation is improved, you probably shouldn't buy any Skylake systems if you're planning on running Linux.
[1] These patches never went upstream. Someone reported that they resulted in their SSD throwing errors and I couldn't find anybody with deeper levels of SATA experience who was interested in working on the problem. Intel's AHCI drivers for Windows do the right thing, but I couldn't find anybody at Intel who could get any information from their Windows driver team.
Linux 4.5 seems to have got Intel's Skylake platform (ie, 6th-generation Core CPUs) to the point where graphics work pretty reliably, which is great progress (4.4 tended to lose all my windows every so often, especially over suspend/resume). I'm even running Wayland happily. Unfortunately one of the reasons I have a laptop is that I want to be able to do things like use it on battery, and power consumption's an important part of that. Skylake continues the trend from Haswell of moving to an SoC-type model where clock and power domains are shared between components that were previously entirely independent, and so you can't enter deep power saving states unless multiple components all have the correct power management configuration. On Haswell/Broadwell this manifested in the form of Serial ATA link power management being involved in preventing the package from going into deep power saving states - setting that up correctly resulted in a reduction in full-system power consumption of about 40%[1].
I've now got a Skylake platform with a nice shiny NVMe device, so Serial ATA policy isn't relevant (the platform doesn't even expose a SATA controller). The deepest power saving state I can get into is PC3, despite Skylake supporting PC8 - so I'm probably consuming about 40% more power than I should be. And nobody seems to know what needs to be done to fix this. I've found no public documentation on the power management dependencies on Skylake. Turning on everything in Powertop doesn't improve anything. My battery life is pretty poor and the system is pretty warm.
The best thing about this is the following statement from page 64 of the 6th Generation Intel ® Processor Datasheet for U-Platforms:
Caution: Long term reliability cannot be assured unless all the Low-Power Idle States are enabled.
which is pretty concerning. Without support for states deeper than PC3, Linux is running in a configuration that Intel imply may trigger premature failure. That's obviously not good. Until this situation is improved, you probably shouldn't buy any Skylake systems if you're planning on running Linux.
[1] These patches never went upstream. Someone reported that they resulted in their SSD throwing errors and I couldn't find anybody with deeper levels of SATA experience who was interested in working on the problem. Intel's AHCI drivers for Windows do the right thing, but I couldn't find anybody at Intel who could get any information from their Windows driver team.
no subject
Date: 2016-04-17 10:51 am (UTC)no subject
Date: 2016-04-17 03:32 pm (UTC)no subject
Date: 2016-04-17 03:58 pm (UTC)Two questions?
Date: 2016-04-17 03:37 pm (UTC)Got two questions:
1. How to check from system if above problem occur on my machine/linux system, what command to use?
2. Are all Skylake ULV chips affected, what about Pentiums, f.e. Pentium 4405U maybe they haven't got some problematic sleeps states, maybe they are cut for the budget sake?
no subject
Date: 2016-04-17 07:56 pm (UTC)powertop: http://paste.debian.net/plain/437840
lspci: http://paste.debian.net/plain/437841
It looks like it manages to reach PC8 some small amount of the time. But this system experiences GPU hangs in this configuration unless I boot with i915.enable_rc6=0.
I'm running Debian's kernel 4.6~rc3-1~exp1 and xserver-xorg-video-intel 2:2.99.917+git20160325-1, with latest i915 firmware from https://01.org/linuxgraphics/intel-linux-graphics-firmwares and iwlwifi firmware from http://git.kernel.org/cgit/linux/kernel/git/iwlwifi/linux-firmware.git.
no subject
Date: 2016-04-18 09:00 pm (UTC)SKL083 - The Processor May Fail to Properly Exit Package C6 or Deeper
Maybe microcode disables such states because of this bug?
Regression from 4.4?
Date: 2016-04-18 11:07 pm (UTC)Re: Regression from 4.4?
Date: 2016-04-23 04:11 pm (UTC)I don't have graphics problems and don't use suspend/hibernate.
further advice required
Date: 2016-04-21 07:06 am (UTC)The reason is iGPU
Date: 2016-04-23 12:50 pm (UTC)P.S. Applying regression fix only is not enough - it's a drm-intel-next which contains main fix.
Re: The reason is iGPU
Date: 2016-04-24 12:12 pm (UTC)Re: The reason is iGPU
From: (Anonymous) - Date: 2016-04-26 07:12 pm (UTC) - ExpandRe: The reason is iGPU
From: (Anonymous) - Date: 2016-04-27 05:48 am (UTC) - ExpandRe: The reason is iGPU
From: (Anonymous) - Date: 2016-04-27 06:52 am (UTC) - ExpandXPS 15 9550
Date: 2016-04-24 03:24 pm (UTC)Using Fedora 23 (installed from a respin as the original 4.2 kernel can't make it through the install process) powertop reports the Package entering PC8 though.
An earlier post of yours indicates multiple subsystems like SATA and I2C have to succeed in entering a power saving state before the entire Skylake package itself will also. My nearest guess so far is that's related?
EDIT: Actually your earlier post was related to haswell/broadwell. My mistake!
I assume you're also using Fedora 23 though, which makes it doubly mysterious.
Re: XPS 15 9550
Date: 2016-04-24 09:20 pm (UTC)HP laptops
Date: 2016-04-25 10:22 pm (UTC)And PC8 sleep state is obviously not supported on HP Skylake laptops. Do not expect a BIOS fix or anything. Your support requests will be ignored (I've filed three already - no results).
Dell Precision 5510, i7-6820HQ, Fedora 23
Date: 2016-05-05 12:09 pm (UTC)i7-6820HQ,
Samsung M.2 PM971 (NVMe)
Fedora 23, Rawhide kernel - 4.6.0-0.rc6.git1.1.fc25.x86_64
I was only getting to c3 ( package ), but managed to get to C8 by disabling the Nvidia Quadro, once I found out where to get bbswitch-dkms from
https://fedoraproject.org/wiki/Bumblebee
For anyone wanting to repeat ..
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora23/noarch/bumblebee-release-1.2-1.noarch.rpm
dnf install bbswitch-dkms
modprobe bbswitch
echo OFF > /proc/acpi/bbswitch
Package
C2 (pc2) 4.8%
C3 (pc3) 2.6%
C6 (pc6) 3.9%
C7 (pc7) 0.0%
C8 (pc8) 18.4%
C9 (pc9) 0.0%
C10 (pc10) 0.0
Wish I had read this before I bought my new laptop
Date: 2016-05-10 07:54 pm (UTC)Right now I'm thinking about turning the bought computer back in, and choose another one, then maybe without Intel inside. At least one thing's for sure: I will be VERY careful next time when looking for a new computer, and if Intel doesn't change their policy about support for other OS this will have been the last Intel product I've ever purchased.
4.6 seems to have better support
Date: 2016-05-30 10:01 pm (UTC)C2 (pc2) 12.2%
C3 (pc3) 0.2%
C6 (pc6) 39.4%
C7 (pc7) 0.0%
C8 (pc8) 14.1%
C9 (pc9) 0.0%
C10 (pc10) 0.0%
I've also flashed the BIOS to the latest version:
BIOS Revision: 1.14 Firmware Revision: 1.9
microcode revision=0x88.
I'm not sure if the BIOS/firwmare/microcode upgrade made any real difference or if it was just the kernel because it did reach PC8 with just the kernel upgrade.
Hopefully this will improve the battery life a bit.
Re: 4.6 seems to have better support
Date: 2016-06-09 06:55 pm (UTC)So I Think I was experiencing the same thing. I'm still running 4.4.0-23 *(ubuntu kernel). I was only able to get to pc2. I ended up booting into windows to debug a separate unrelated issue, and ran a few updates. I had already been running the 1.14 bios and firmware revision 1.9 so that wasn't the solution. I did upgrade the IMEI firmware though. After rebooting back into linux I'm now getting much better behavior.
C2 (pc2) 12.6%
C3 (pc3) 0.1%
C6 (pc6) 55.4%
C7 (pc7) 0.0%
C8 (pc8) 14.8%
C9 (pc9) 0.0%
C10 (pc10) 0.0%
It's worth noting that I am using an NVMe drive so the sata patches here don't apply.
Re: 4.6 seems to have better support
From: (Anonymous) - Date: 2016-06-22 05:26 am (UTC) - ExpandRe: 4.6 seems to have better support
From: (Anonymous) - Date: 2016-06-29 10:33 pm (UTC) - ExpandRe: 4.6 seems to have better support
From: (Anonymous) - Date: 2016-07-14 10:10 pm (UTC) - ExpandRe: 4.6 seems to have better support
From: (Anonymous) - Date: 2016-07-17 09:01 pm (UTC) - Expandaverage battery life on T460s
Date: 2016-07-17 02:04 pm (UTC)Kernel 4.7 seems to do PC8 OK
Date: 2016-07-26 12:29 am (UTC)Dell XPS 13 9350, 1.4.0 BIOS, Intel WiFi. The only change from kernel defaults is i915.enable_rc6=1.
Idle-ish system with normal processes running, screen on:
C2 (pc2) 18.5%
C3 (pc3) 0.3%
C6 (pc6) 2.5%
C7 (pc7) 0.0%
C8 (pc8) 36.6%
C9 (pc9) 0.0%
C10 (pc10) 0.0%
If I quit Firefox then PC8 goes up to around 50%.
Full PowerTOP bits: https://gist.github.com/projectgus/e79923530392517c4e55064bb07b778d
(On the offchance anyone sees this and decides to buy an XPS 13 on this basis - it's still been a trip back to running Linux 10-15 years ago. I get random hard locks coming out of suspend, screen flickers when the laptop gets hot, glitchy touchpad driver, USB Type C is WIP, etc. Have spent way too much time compiling kernels and trawling forums. I wish I'd done my homework beforehand instead of thinking "well, Dell ships Linux on it from factory. How bad can it be?")
Re: Kernel 4.7 seems to do PC8 OK
Date: 2016-07-27 12:16 pm (UTC)https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.8-Power-Management-ACPI
Update?
Date: 2016-09-14 11:18 pm (UTC)Interesting news?
Date: 2016-09-18 08:11 pm (UTC)BTW, just have a look at table 4-4, page 70 of [1]: having a FHD screen that does NOT support PSR ([drm:intel_psr_enable] PSR not supported by this panel in kernel log), without turning off the screen, my max package state is actually PC8!
So, any thoughs to level up from PC7 to PC8?
[1] http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/6th-gen-core-family-mobile-u-y-processor-lines-datasheet-vol-1.pdf
Re: Interesting news?
Date: 2016-09-23 07:21 pm (UTC)Re: Interesting news?
From: (Anonymous) - Date: 2016-09-24 07:55 pm (UTC) - ExpandLenovo Yoga 900
Date: 2016-10-09 11:04 am (UTC)Version:
Output of powertop:
The bits [2:0] are set to 1, so should BIOS does not deny access to enter PC states. The MSR value is not at fault.
Driver in use: intel_idle
Bug opened and hijacked: https://bugzilla.kernel.org/show_bug.cgi?id=116591
Duplicate bug opened: https://bugzilla.kernel.org/show_bug.cgi?id=116671. Just refers to https://github.com/mjg59/linux/tree/sata-lpm-firmware.
I think I've to conclude that nobody seems to be working on it.
Re: Lenovo Yoga 900
Date: 2016-10-09 11:19 am (UTC)Changing to:
Allows the chip (peripherals) to spend time in lower power states than pc2:
Setting more flags to "Good" does not allow my laptop to resume after closing the lid. And I've to restart the network-manager, but I can live with that.
no subject
Date: 2016-10-20 02:30 pm (UTC)Does this mean that using Linux without these patches on Haswell or Broadwell laptop is equally bad as using it on Skylake laptop?
Skylake PC8 or PC10?
Date: 2016-11-05 03:41 pm (UTC)I own a Dell XPS 15 9550, I hit sometimes PC8, but it's unreliable, I actually thought it never got below PC3 (with F25 beta).
In the second paragraph you wrote:
"The deepest power saving state I can get into is PC3, despite Skylake supporting PC8"
Where does this come from? I've checked the datasheet you linked, on page 66 (paragraph 4.2.5) there is this: "The processor supports C0, C1/C1E, C3, C6, C7, C8, C9 and C10 power states". Is badly worded, it should say PC{0..10}, on page 69 there even is a description of Package C10 State. On page 70 there is a nice table, PC10 can be reached if PSR is enabled, otherwise only PC8 is supported.
I checked then the intel datasheet for H-series mobile processors [1] (like the i7-6700hq I have), the relevant pages are 73-76 (but the table was omitted), but it looks the same. I'm also having an email exchange with another xps 15 9550 linux user, he wrote to me that his system does reach down to PC10, so now I'm trying to get to the bottom of this (I think he's running F24 or 25).
[1] http://www.intel.com/content/www/us/en/processors/core/6th-gen-core-family-mobile-h-processor-lines-datasheet-vol-1.html
Re: Skylake PC8 or PC10?
Date: 2016-12-13 10:42 pm (UTC)HP zbook studio g3
Date: 2017-08-08 05:09 pm (UTC)I'm booting with: iwlwifi.d0i3_disable=0 iwlwifi.uapsd_disable=0 iwlwifi.power_save=1 snd_hda_intel.power_save=1 e1000e.SmartPowerDownEnable=1 pcie_aspm=force pcie_aspm.policy=powersupersave
* Having ethernet plugged in (e1000e) makes it only get to pc2
* Having the discrete gpu powered off with bbswitch while xorg starts freezes the machine
* Having the discrete bpu powered off with bbswitch while loading the proprietary nvidia driver freezes the machine
* nouveau seems to freeze the machine no matter what bbswitch state
* Using bbswitch to power off the gpu it only gets pc3, loading the proprietary nvidia driver instead causes it to get into a lower pc-state (pc8? iirc), but more total power usage
* switching the powertop tunable "Runtime PM for PCI Device NVIDIA Corporation GM107GLM [Quadro M1000M]" makes the nvidia driver fail to load until next reboot (even if you switch it back)
Re: HP zbook studio g3
Date: 2017-08-08 05:13 pm (UTC)no subject
Date: 2018-03-30 01:37 pm (UTC)Just to let you know, my Intel Core i5 6360U on Windows 10 (1709) situation:
Package C State Percent was not using C6 enough (around 10% from time to time) as soon as I enabled WiFi (Airplane Mode OFF) and was staying mainly in C3 (around 80%).
I found that enabling Windows Power Options -> Advanced Settings -> Wireless Adapter Settings -> Power Saving Mode -> Plugged in: "Maximum Power savings" had a positive effect on C6 % (basically, it's using C6 now instead of C3).
Have a great week end !