Проблемы с управлением питанием процессоров Intel Skylake в Linux

2016-04-14

Мэтью Гаррет (Matthew Garrett), известный разработчик ядра Linux и один из директоров Фонда Свободного ПО, в своё время получивший от Фонда СПО премию за вклад в развитие свободного ПО, обратил внимание на проявляющиеся в Linux серьёзные проблемы с управлением энергопотреблением мобильной серии процессоров Intel на базе микроархитектуры Skylake, используемой в ноутбуках.

Унификация в Skylake ранее независимых процессорных компонентов приводит к тому, что процессор не может быть переведён в состояние глубокой экономии энергии, пока все компоненты не получат корректные настройки управления питанием. В моделях семейств Haswell и Broadwell достаточно было дополнительно настроить параметры управления питанием для Serial ATA, чтобы снизить энергопотребление системы на 40% (исправление для такой настройки так и не было принято в ядро, так как возникали проблемы с SSD-накопителями). В Windows проблема решается благодаря поставке AHCI-драйверов Intel, которые выставляют все необходимые настройки.

В Skylake изменения параметров Serial ATA недостаточно, так как в чипе появилось ещё одно влияющее на режим энергопотребления устройство - NVMe, без корректной конфигурации которого в ядре Linux 4.5 удаётся достичь уровня энергопотребления PC3, в то время как процессор поддерживает PC8, что существенно сокращает время автономной работы ноутбуков с процессорами Skylake. При использовании Linux такие ноутбуки потребляют на 40% больше энергии, чем можно ожидать в случае включения надлежащих режимов энергосбережения. Проблему может решить только компания Intel, так как документация по управлению питанием Skylake не опубликована и независимые разработчики ядра не могут самостоятельно подготовить патч.