요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
===================================
Kernel driver: x86_pkg_temp_thermal
===================================
Supported chips:
* x86: with package level thermal management
(Verify using: CPUID.06H:EAX[bit 6] =1)
Authors: Srinivas Pandruvada <[email protected]>
Reference
---------
Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013):
Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT
Description
-----------
This driver register CPU digital temperature package level sensor as a thermal
zone with maximum two user mode configurable trip points. Number of trip points
depends on the capability of the package. Once the trip point is violated,
user mode can receive notification via thermal notification mechanism and can
take any action to control temperature.
Threshold management
--------------------
Each package will register as a thermal zone under /sys/class/thermal.
Example::
/sys/class/thermal/thermal_zone1
This contains two trip points:
- trip_point_0_temp
- trip_point_1_temp
User can set any temperature between 0 to TJ-Max temperature. Temperature units
are in milli-degree Celsius. Refer to "Documentation/driver-api/thermal/sysfs-api.rst" for
thermal sys-fs details.
Any value other than 0 in these trip points, can trigger thermal notifications.
Setting 0, stops sending thermal notifications.
Thermal notifications:
To get kobject-uevent notifications, set the thermal zone
policy to "user_space".
For example::
echo -n "user_space" > policy
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
x86 package temperature driver 지원 조건
1-18이 문서는 package-level thermal management를 지원하는 x86 CPU용 `x86_pkg_temp_thermal` kernel driver를 설명합니다.
지원 여부는 `CPUID.06H:EAX[bit 6] = 1`인지 확인해 검증할 수 있습니다. 저자는 Srinivas Pandruvada입니다.
참조 자료는 2013년 1월판 Intel 64 and IA-32 Architectures Software Developer's Manual의 Chapter 14.6, `PACKAGE LEVEL THERMAL MANAGEMENT`입니다.
===================================
Kernel driver: x86_pkg_temp_thermal
===================================
Supported chips:
* x86: with package level thermal management
(Verify using: CPUID.06H:EAX[bit 6] =1)
Authors: Srinivas Pandruvada <[email protected]>
Reference
---------
Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013):
Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT
Package sensor와 user-mode trip point
19-28이 드라이버는 CPU digital temperature package-level sensor를 thermal zone으로 등록하며, user mode에서 설정할 수 있는 trip point를 최대 두 개 제공합니다.
실제 trip point 수는 package capability에 따라 달라집니다. Trip point를 위반하면 user mode는 thermal notification mechanism을 통해 알림을 받고 temperature를 제어하기 위한 동작을 수행할 수 있습니다.
Package sensor의 trip crossing이 user space 제어로 이어지는 흐름입니다.
Description
-----------
This driver register CPU digital temperature package level sensor as a thermal
zone with maximum two user mode configurable trip points. Number of trip points
depends on the capability of the package. Once the trip point is violated,
user mode can receive notification via thermal notification mechanism and can
take any action to control temperature.
Threshold와 kobject-uevent notification
29-55각 CPU package는 `/sys/class/thermal` 아래의 thermal zone으로 등록됩니다. 예제 경로는 `/sys/class/thermal/thermal_zone1`입니다.
Zone은 `trip_point_0_temp`와 `trip_point_1_temp` 두 trip point를 포함합니다. User는 0부터 TJ-Max temperature 사이의 값을 설정할 수 있으며 단위는 milli-degree Celsius입니다.
Thermal sysfs 상세 내용은 `Documentation/driver-api/thermal/sysfs-api.rst`를 참조합니다.
Trip point에 0이 아닌 값을 쓰면 thermal notification을 trigger할 수 있고, 0을 설정하면 notification 전송을 중단합니다.
Kobject-uevent notification을 받으려면 thermal zone policy를 `user_space`로 설정합니다. 예제 command는 `echo -n "user_space" > policy`입니다.
Threshold management
--------------------
Each package will register as a thermal zone under /sys/class/thermal.
Example::
/sys/class/thermal/thermal_zone1
This contains two trip points:
- trip_point_0_temp
- trip_point_1_temp
User can set any temperature between 0 to TJ-Max temperature. Temperature units
are in milli-degree Celsius. Refer to "Documentation/driver-api/thermal/sysfs-api.rst" for
thermal sys-fs details.
Any value other than 0 in these trip points, can trigger thermal notifications.
Setting 0, stops sending thermal notifications.
Thermal notifications:
To get kobject-uevent notifications, set the thermal zone
policy to "user_space".
For example::
echo -n "user_space" > policy
요약·해설
x86_pkg_temperature_thermal.rst:1-55`x86_pkg_temp_thermal`은 지원 CPU package를 thermal zone으로 등록하고 최대 두 trip point를 제공합니다. Threshold는 milli-degree Celsius로 설정하며 `user_space` policy에서 crossing을 kobject-uevent로 받을 수 있습니다.