Инженеры Intel, работающие над программным обеспечением с открытым исходным кодом, вот уже год трудятся над созданием драйвера для ядра Linux, призванного решить проблему перегрева высокопроизводительных PCIe устройств. Новый драйвер под названием "pcie_cooling" позволит системе автоматически понижать скорость PCIe линков при достижении критических температур.
С каждым новым поколением PCIe растут максимально возможные скорости передачи данных. Уже сегодня PCIe 5.0 способен работать на скоростях до 32 ГТ/с, а грядущее PCIe 6.0 удвоит этот показатель. При столь высокой производительности проблема нагрева становится все более актуальной, особенно для компактных мобильных систем.
Предлагаемый Intel драйвер pcie_cooling сможет регистрировать виртуальные устройства охлаждения для каждого PCIe порта в системе. В случае превышения заданных температурных порогов, драйвер получит возможность принудительно снизить скорость PCIe линка посредством изменения соответствующих регистров в контроллере. Это позволит сбросить нагрузку и энергопотребление устройства, подключенного по PCIe.
На данный момент pcie_cooling ограничивается только управлением скоростью линков, однако в перспективе возможно добавление контроля над шириной линка. Такая функциональность ожидается в грядущей ревизии PCIe 6.0 с новым режимом энергосбережения L0p.
Была опубликована уже пятая ревизия патчей для данного драйвера. В ней произведен рефакторинг кода, улучшена обработка ошибок и совместимость с уже существующими особенностями ядра Linux. После года разработки ожидается, что pcie_cooling в скором времени будет включен в основную ветку ядра.
Новый драйвер станет полезным дополнением для производительных настольных систем и ультрабуков, оснащенных мощными GPU или ускорителями вычислений. Он позволит гибко управлять балансом производительность/энергопотребление, избегая термических критических ситуаций.