Что означает тепловая зона ядра в файле dts?

В файле dts моего ядра у меня есть:

thermal-zones {
    cpu0_thermal: cpu0-thermal {
        thermal-sensors = <&tmuctrl_0>;
        polling-delay-passive = <1000>;
        polling-delay = <1000>;
        trips {
            cpu_alert0: cpu-alert-0 {
                temperature = <100000>;
                hysteresis = <1000>;
                type = "active";
            };
            cpu_alert1: cpu-alert-1 {
                temperature = <110000>;
                hysteresis = <1000>;
                type = "passive";
            };
            cpu_alert2: cpu-alert-2 {
                temperature = <120000>;
                hysteresis = <1000>;
                type = "passive";
            };
            cpu-crit-0 {
                temperature = <130000>;
                hysteresis = <1000>;
                type = "critical";
            };
        };

        cooling-maps {
            map0 {
                trip = <&cpu_alert0>;
                cooling-device = <&cpu0 1 1>;
            };
            map1 {
                trip = <&cpu_alert1>;
                cooling-device = <&cpu0 4 4>;
            };
            map2 {
                trip = <&cpu_alert2>;
                cooling-device = <&cpu0 10 10>;
            };
        };
    };
};

Кажется, что пассивный означает, что используется только ЦП, активный означает, что используется любое охлаждающее устройство FAN.

Мой вопрос: что означают две цифры в устройстве охлаждения процессора?

https://www.kernel.org/doc/Documentation/devicetree/bindings/thermal/thermal.txt говорит: «Состояния охлаждения обозначаются одиночными целыми числами без знака, где большие числа означают большее рассеивание тепла».

Но что такое 1, 4 и 10? Будет ли это применяться только в том случае, если cpufreq используется по требованию? Как рассчитываются частоты «охлаждения»? есть ли другая часть DTS, которая связана с этими значениями?


person gregoiregentil    schedule 01.11.2018    source источник


Ответы (2)


Я не совсем уверен, является ли он общим или специфичным для моего устройства ARM, но, прочитав комментарии к фиксации, я понял, что число (1, 4, 10) соответствует дросселю ЦП только в режиме по запросу. В моем конкретном случае эти цифры представляют собой меру газа в 100 МГц. Таким образом, 10 означает, что процессор дросселируется на 1 ГГц меньше, чем его максимальная частота.

person gregoiregentil    schedule 15.11.2018

в DTS охлаждающее устройство = ‹&cpu0 1 1> используется для представления состояний охлаждающего устройства, которое связано с точкой срабатывания тепловой зоны. В вашем случае охлаждающим устройством является процессор, что означает, что ваша точка срабатывания тепловой зоны связана с процессором, а 1 1 в dts представляет состояние дросселирования. Все это можно прочитать из интерфейса sysfs, а также из пользовательского пространства. Перейдите по ссылке ниже для получения подробной информации: https://www.lookup2learn.com/post/thermal-management-in-linux

person asking questions    schedule 13.05.2020