Documentation/driver-api/thermal/x86_pkg_temperature_thermal.rst GitHub 원문 ↗

Linux 6.18.37 · Driver API

x86 Package Temperature Thermal Driver

x86 package temperature sensor의 CPUID 조건, thermal zone trip point와 user-space kobject notification 설정을 설명하는 한국어 전문 번역입니다.

Source pathDocumentation/driver-api/thermal/x86_pkg_temperature_thermal.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

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로 받을 수 있습니다.

문서 구성
원문 줄핵심 내용
1-18지원 CPU, CPUID와 참조 문서
19-28Package sensor와 notification 개요
29-55Trip point 설정과 user-space policy

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 ===================================
2 Kernel driver: x86_pkg_temp_thermal
3 ===================================
4
5 Supported chips:
6
7 * x86: with package level thermal management
8
9 (Verify using: CPUID.06H:EAX[bit 6] =1)
10
11 Authors: Srinivas Pandruvada <[email protected]>
12
13 Reference
14 ---------
15
16 Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013):
17 Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT
18
19 Description
20 -----------
21
22 This driver register CPU digital temperature package level sensor as a thermal
23 zone with maximum two user mode configurable trip points. Number of trip points
24 depends on the capability of the package. Once the trip point is violated,
25 user mode can receive notification via thermal notification mechanism and can
26 take any action to control temperature.
27
28
29 Threshold management
30 --------------------
31 Each package will register as a thermal zone under /sys/class/thermal.
32
33 Example::
34
35 /sys/class/thermal/thermal_zone1
36
37 This contains two trip points:
38
39 - trip_point_0_temp
40 - trip_point_1_temp
41
42 User can set any temperature between 0 to TJ-Max temperature. Temperature units
43 are in milli-degree Celsius. Refer to "Documentation/driver-api/thermal/sysfs-api.rst" for
44 thermal sys-fs details.
45
46 Any value other than 0 in these trip points, can trigger thermal notifications.
47 Setting 0, stops sending thermal notifications.
48
49 Thermal notifications:
50 To get kobject-uevent notifications, set the thermal zone
51 policy to "user_space".
52
53 For example::
54
55 echo -n "user_space" > policy
56

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`입니다.

x86_pkg_temp_thermal 지원 정보
항목내용
지원 CPUPackage-level thermal management가 있는 x86
CPUID 확인`CPUID.06H:EAX[bit 6] = 1`
저자Srinivas Pandruvada
참조Intel 64 and IA-32 SDM, Chapter 14.6

===================================
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 thermal notification 경로
CPU digital package temperature sensorThermal zone
Up to two configurable trip pointsTrip point crossing
Trip point crossingThermal notification mechanism
Thermal notificationUser-mode temperature control action

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`입니다.

x86 package thermal threshold
항목설정과 효과
Zone path`/sys/class/thermal/thermal_zone1` 예
Trip points`trip_point_0_temp`, `trip_point_1_temp`
허용 범위0부터 TJ-Max, milli-degree Celsius
0이 아닌 값Thermal notification trigger 활성화
0Thermal notification 전송 중단
Policy`user_space`로 kobject-uevent notification 수신

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