Sysfs、Netlink、Hwmon 与用户接口

Sysfs、Netlink、Hwmon 与用户接口

1. Sysfs

1
2
3
4
5
6
7
8
/sys/class/thermal/thermal_zoneN/
type temp mode policy available_policies
trip_point_N_temp/type/hyst
passive polling_delay

/sys/class/thermal/cooling_deviceN/
type max_state cur_state
stats/...

具体文件随配置、ops和 governor变化。

2. 编号

thermal_zoneN/cooling_deviceN编号动态分配。程序按 type和 sysfs device关系识别,不能写死编号。

3. Writable

主配置允许 writable trips,但 zone mask仍决定每个 trip是否可写。写 mode/policy/trip/cdev可能破坏保护,权限必须收紧。

4. Emulation

THERMAL_EMULATION 提供 emul_temp。本主配置未显式启用。它适合验证策略,但量产开放会让用户伪造低温绕过软件 protection。

Thermal family提供:

  • zone/cdev/governor discovery;
  • temperature;
  • trip crossing;
  • cdev state;
  • governor change;
  • events multicast。

相较 uevent信息更结构化。是否存在取决于 THERMAL_NETLINK最终配置。

6. Hwmon bridge

THERMAL_HWMON 可把 zone温度暴露为 hwmon tempN_input。这只是另一观测 ABI,不复制 governor。RK3588是否出现 hwmon节点由最终配置和注册路径决定。

7. Uevent

user_space governor使用 uevent提示 crossing。用户 daemon失联时不会自动给出复杂 fallback,因此仍需 critical/TSHUT。

8. Trace

thermal tracepoints可观测:

  • temperature;
  • cooling state;
  • power allocator;
  • CPU frequency cooling;
  • thermal pressure。

适合定位振荡和响应延迟。

9. Android

Android thermal HAL可能读取 sysfs或 netlink/厂商接口,并对 framework报告 throttling severity。内核 policy与 HAL policy不应互相覆盖同一 cdev。

10. 权限

只读温度可开放;以下应 root-only:

  • trip temperature;
  • emul_temp;
  • policy;
  • mode;
  • cooling cur_state;
  • PID coefficients;
  • sustainable power。

文章互动

阅读 --

留言

0 条留言

正在加载留言…