Суть проблемы: один чип — разные лимиты
Ключевая инновация заключается в поддержке hardware-binned trip point (аппаратно-бинированных точек срабатывания). Процессоры Qualcomm SoC, включая линейку Snapdragon X, производятся с использованием одного и того же кремния, но имеют разные физические ограничения по температуре перехода (junction temperature). Эти лимиты задаются на заводе через прожигаемые предохранители (fuses) в зависимости от качества упаковки и термоинтерфейса.
Ранее Linux-драйверы не всегда корректно учитывали эти аппаратные различия, что могло приводить к неоптимальному управлению охлаждением или преждевременному троттлингу. Новый патч-сет решает эту проблему, позволяя подсистеме терморегулирования ядра считывать реальные физические пределы конкретного экземпляра чипа.
Технические детали реализации
Патчи разработаны инженером Qualcomm Гауравом Кохли (Gaurav Kohli) и направлены в список рассылки Linux Kernel Mailing List. Механизм работает через чтение специфических ячеек памяти QFPROM (One-Time Programmable ROM) в зависимости от поколения платформы:
| Платформа / Семейство | Метод считывания биннинга | Ключевые компоненты |
|---|---|---|
| SC7280 / QCM6490 | Чтение jtag-id и feat-id | QFPROM cells |
| Snapdragon X1 Elite (X1E80100) и новее | Чтение бита i-temp | QFPROM bit |
Драйвер TSENS (Thermal Sensor) становится первым пользователем этой новой функциональности. Полученный код биннинга передается в путь регистрации OF (Open Firmware) до того, как будут распаршены точки срабатывания, что обеспечивает точную настройку термальной политики на уровне ядра.
Почему это важно для пользователей Snapdragon X
Для владельцев ноутбуков на базе Snapdragon X Elite это обновление означает более предсказуемое поведение системы под нагрузкой. Различия в термальном биннинге часто связаны с вариациями в теплопроводности материалов упаковки. Без учета этих данных система могла бы либо перегревать чип, либо излишне ограничивать его производительность.
Патчи находятся на стадии ревью. Их интеграция в основное дерево ядра Linux позволит дистрибутивам и разработчикам дров предоставлять оптимальные настройки охлаждения «из коробки» для каждого конкретного устройства, а не использовать усредненные, консервативные значения.
Источник: Phoronix ↗
