Патч для решения проблемы с повышенным энергопотреблением Linux на некоторых ноутбуках

12 ноября 2011 года

Мэтью Гаррет (Matthew Garrett), один из разработчиков ядра Linux из компании Red Hat, опубликовал в списке рассылки ядра Linux патч, полностью решающий проблемы с повышенным энергопотреблением на ноутбуках, поддерживающих технологию ASPM (Active State Power Management) для карт PCI Express. Проблема выражается в том, что для некоторых систем в процессе работы ASPM-регистры постоянно остаются в режиме "performance" (высокая производительность), что приводит к повышению энергопотребления на 10-30% при использовании ядер Linux начиная с 2.6.38. Предложенный патч имитирует поведение Windows при инициализации системы управления питанием, т.е. не очищает статус ASPM для всех устройств в процессе загрузки, оставляя параметры, выставленные BIOS.

Проблема долгое время оставалась нерешённой из-за отсутствия какой-либо документации, описывающей как именно следует принимать решения о включении или выключении поддержки ASPM в ситуации, когда BIOS не информирует ОС о поддержке ASPM. Изначально разработчики ядра Linux полагались на то, что активировать ASPM следует только в том случае, если BIOS явно сообщает о наличии поддержки ASPM для карт PCI Express. Как оказалось, подобный метод не эффективен, так как BIOS многих систем умалчивает о наличии ASPM, в то время как поддержка данного режима присутствует. Если BIOS не сообщил о поддержке ASPM, ядро Linux обнуляло ASPM-регистры, что приводило к тому, что технология энергосбережения ASPM не использовалась в процессе работы системы (постоянно был активен режим максимальной производительности), даже если ASPM был реализован в компьютере. В ситуации, когда BIOS указывал на наличие ASPM, инициализация проходила корректно и проблем не наблюдалось.

Тестирование энергопотребления показало, что после применения патча, потребление энергии на ноутбуке ThinkPad на базе CPU Intel Core i7 уменьшилось на 36% при ненагруженном состоянии системы и на 14% при запуске интенсивно использующей графику 3D-игры, что соответствует уровню энергопотрбления при использовании ядра 2.6.37 (новая система инициализации ASPM была добавлена в 2.6.38). К сожалению, окно приёма изменений для ядра Linux 3.2 уже закрыто, поэтому наиболее вероятно, что патч будет включён только в состав ядра 3.3, выход которого можно ожидать весной 2012 года.

Вслед за первым патчем, Мэтью Гаррет также представил несколько дополнительных улучшений, нацеленных на оптимизацию работы в случае, если BIOS корректно сообщает о наличии ASPM. Если системе изначально известно о ASPM, то применяются более агрессивные настройки, чем по умолчанию выставлены прошивкой. Для драйверов отдельных проблемных PCI-E устройств, для которых такие настройки неприменимы, предоставляется возможность индивидуального отключения ASPM. Список устройств для которых необходимо отключение ASPM был найден через анализ настроек драйверов для платформы Windows, в которой используется подобный обходной путь для более оптимального использования ASPM в системе.

В настоящее время в чёрный список внесены следующие устройства:

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Патч для решения проблемы с повышенным энергопотреблением Linux на некоторых ноутбуках», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.