← Documents Documentation/ABI/testing/sysfs-class-devfreq GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

Devfreq class policy and statistics sysfs ABI

Devfreq object identity, governor·frequency, transition 통계, min/max constraint, polling·userspace·timer와 related CPU를 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-class-devfreq
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

Object identity, governor, and frequency

sysfs-class-devfreq:1-38

Device와 같은 이름의 devfreq object, governor, current와 next target frequency를 노출합니다.

Transition statistics and frequency limits

sysfs-class-devfreq:40-92

State time·transition count와 PAGE_SIZE 제한, available snapshot, userspace min/max constraint의 thermal 우선순위를 정의합니다.

Polling, userspace, timer, and related CPUs

sysfs-class-devfreq:94-143

Polling interval, userspace set_freq, deferrable·delayed work timer와 frequency domain에 관련된 CPU subset을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 What: /sys/class/devfreq/.../
2 Date: September 2011
3 Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
4 Description:
5 Provide a place in sysfs for the devfreq objects.
6 This allows accessing various devfreq specific variables.
7 The name of devfreq object denoted as ... is same as the
8 name of device using devfreq.
9
10 What: /sys/class/devfreq/.../name
11 Date: November 2019
12 Contact: Chanwoo Choi <cw00.choi@samsung.com>
13 Description:
14 The /sys/class/devfreq/.../name shows the name of device
15 of the corresponding devfreq object.
16
17 What: /sys/class/devfreq/.../governor
18 Date: September 2011
19 Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
20 Description:
21 The /sys/class/devfreq/.../governor show or set the name of the
22 governor used by the corresponding devfreq object.
23
24 What: /sys/class/devfreq/.../cur_freq
25 Date: September 2011
26 Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
27 Description:
28 The /sys/class/devfreq/.../cur_freq shows the current
29 frequency of the corresponding devfreq object. Same as
30 target_freq when get_cur_freq() is not implemented by
31 devfreq driver.
32
33 What: /sys/class/devfreq/.../target_freq
34 Date: September 2012
35 Contact: Rajagopal Venkat <rajagopal.venkat@linaro.org>
36 Description:
37 The /sys/class/devfreq/.../target_freq shows the next governor
38 predicted target frequency of the corresponding devfreq object.
39
40 What: /sys/class/devfreq/.../trans_stat
41 Date: October 2012
42 Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
43 Description:
44 This ABI shows or clears the statistics of devfreq behavior
45 on a specific device. It shows the time spent in each state
46 and the number of transitions between states.
47 In order to activate this ABI, the devfreq target device
48 driver should provide the list of available frequencies
49 with its profile. If need to reset the statistics of devfreq
50 behavior on a specific device, enter 0(zero) to 'trans_stat'
51 as following::
52
53 echo 0 > /sys/class/devfreq/.../trans_stat
54
55 If the transition table is bigger than PAGE_SIZE, reading
56 this will return an -EFBIG error.
57
58 What: /sys/class/devfreq/.../available_frequencies
59 Date: October 2012
60 Contact: Nishanth Menon <nm@ti.com>
61 Description:
62 The /sys/class/devfreq/.../available_frequencies shows
63 the available frequencies of the corresponding devfreq object.
64 This is a snapshot of available frequencies and not limited
65 by the min/max frequency restrictions.
66
67 What: /sys/class/devfreq/.../available_governors
68 Date: October 2012
69 Contact: Nishanth Menon <nm@ti.com>
70 Description:
71 The /sys/class/devfreq/.../available_governors shows
72 currently available governors in the system.
73
74 What: /sys/class/devfreq/.../min_freq
75 Date: January 2013
76 Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
77 Description:
78 The /sys/class/devfreq/.../min_freq shows and stores
79 the minimum frequency requested by users. It is 0 if
80 the user does not care. min_freq overrides the
81 frequency requested by governors.
82
83 What: /sys/class/devfreq/.../max_freq
84 Date: January 2013
85 Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
86 Description:
87 The /sys/class/devfreq/.../max_freq shows and stores
88 the maximum frequency requested by users. It is 0 if
89 the user does not care. max_freq overrides the
90 frequency requested by governors and min_freq.
91 The max_freq overrides min_freq because max_freq may be
92 used to throttle devices to avoid overheating.
93
94 What: /sys/class/devfreq/.../polling_interval
95 Date: September 2011
96 Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
97 Description:
98 The /sys/class/devfreq/.../polling_interval shows and sets
99 the requested polling interval of the corresponding devfreq
100 object. The values are represented in ms. If the value is
101 less than 1 jiffy, it is considered to be 0, which means
102 no polling. This value is meaningless if the governor is
103 not polling.
104
105 A list of governors that support the node:
106 - simple_ondmenad
107 - tegra_actmon
108
109 What: /sys/class/devfreq/.../userspace/set_freq
110 Date: September 2011
111 Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
112 Description:
113 The /sys/class/devfreq/.../userspace/set_freq shows and
114 sets the requested frequency for the devfreq object if
115 userspace governor is in effect.
116
117 A list of governors that support the node:
118 - userspace
119
120 What: /sys/class/devfreq/.../timer
121 Date: July 2020
122 Contact: Chanwoo Choi <cw00.choi@samsung.com>
123 Description:
124 This ABI shows and stores the kind of work timer by users.
125 This work timer is used by devfreq workqueue in order to
126 monitor the device status such as utilization. The user
127 can change the work timer on runtime according to their demand
128 as following::
129
130 echo deferrable > /sys/class/devfreq/.../timer
131 echo delayed > /sys/class/devfreq/.../timer
132
133 A list of governors that support the node:
134 - simple_ondemand
135
136 What: /sys/class/devfreq/.../related_cpus
137 Date: June 2025
138 Contact: Linux power management list <linux-pm@vger.kernel.org>
139 Description: The list of CPUs whose performance is closely related to the
140 frequency of this devfreq domain.
141
142 This file is only present if a specific devfreq device is
143 closely associated with a subset of CPUs.
144

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Devfreq object directory

1-8
항목한국어 전문 번역
What/sys/class/devfreq/.../
Date2011년 9월
ContactMyungJoo Ham <myungjoo.ham@samsung.com>
DescriptionDevfreq object를 위한 sysfs 위치를 제공하고 여러 devfreq-specific variable에 접근할 수 있게 합니다. ...로 표시한 devfreq object 이름은 devfreq를 사용하는 device 이름과 같습니다.

Devfreq device 이름

10-15
항목한국어 전문 번역
What/sys/class/devfreq/.../name
Date2019년 11월
ContactChanwoo Choi <cw00.choi@samsung.com>
Description해당 devfreq object의 device 이름을 표시합니다.

Devfreq governor 선택

17-22
항목한국어 전문 번역
What/sys/class/devfreq/.../governor
Date2011년 9월
ContactMyungJoo Ham <myungjoo.ham@samsung.com>
Description해당 devfreq object가 사용하는 governor 이름을 표시하거나 설정합니다.

현재 devfreq frequency

24-31
항목한국어 전문 번역
What/sys/class/devfreq/.../cur_freq
Date2011년 9월
ContactMyungJoo Ham <myungjoo.ham@samsung.com>
Description해당 devfreq object의 현재 frequency를 표시합니다. Devfreq driver가 get_cur_freq()를 구현하지 않았으면 target_freq와 같습니다.

Governor 예측 target frequency

33-38
항목한국어 전문 번역
What/sys/class/devfreq/.../target_freq
Date2012년 9월
ContactRajagopal Venkat <rajagopal.venkat@linaro.org>
Description해당 devfreq object에 대해 governor가 다음으로 예측한 target frequency를 표시합니다.

Devfreq state transition 통계

40-56
항목한국어 전문 번역
What/sys/class/devfreq/.../trans_stat
Date2012년 10월
ContactMyungJoo Ham <myungjoo.ham@samsung.com>
Description특정 device의 devfreq 동작 통계를 표시하거나 clear합니다. 각 state에서 보낸 시간과 state 사이 transition 횟수를 표시합니다. 이 ABI를 활성화하려면 devfreq target device driver가 profile과 함께 available frequency 목록을 제공해야 합니다. 통계를 reset하려면 trans_stat에 0을 씁니다. Transition table이 PAGE_SIZE보다 크면 읽을 때 -EFBIG error를 반환합니다.
echo 0 > /sys/class/devfreq/.../trans_stat
Devfreq transition statistics lifecycle
Driver profile이 available frequency 목록 제공State별 시간·transition 횟수 수집trans_stat 읽기0 쓰기로 통계 reset

Driver profile의 frequency 목록이 있어야 통계를 수집하며 0을 써서 reset합니다.

사용 가능한 devfreq frequency

58-65
항목한국어 전문 번역
What/sys/class/devfreq/.../available_frequencies
Date2012년 10월
ContactNishanth Menon <nm@ti.com>
Description해당 devfreq object에서 사용할 수 있는 frequency를 표시합니다. 이는 available frequency의 snapshot이며 min/max frequency restriction으로 제한되지 않습니다.

사용 가능한 devfreq governor

67-72
항목한국어 전문 번역
What/sys/class/devfreq/.../available_governors
Date2012년 10월
ContactNishanth Menon <nm@ti.com>
DescriptionSystem에서 현재 사용할 수 있는 governor를 표시합니다.

Userspace minimum frequency 요청

74-81
항목한국어 전문 번역
What/sys/class/devfreq/.../min_freq
Date2013년 1월
ContactMyungJoo Ham <myungjoo.ham@samsung.com>
DescriptionUser가 요청한 minimum frequency를 표시하고 저장합니다. User가 상관하지 않으면 0입니다. min_freq는 governor가 요청한 frequency를 override합니다.

Userspace maximum frequency 요청

83-92
항목한국어 전문 번역
What/sys/class/devfreq/.../max_freq
Date2013년 1월
ContactMyungJoo Ham <myungjoo.ham@samsung.com>
DescriptionUser가 요청한 maximum frequency를 표시하고 저장합니다. User가 상관하지 않으면 0입니다. max_freq는 governor와 min_freq가 요청한 frequency를 override합니다. Device overheating을 막기 위한 throttling에 max_freq를 사용할 수 있으므로 max_freq가 min_freq보다 우선합니다.
Devfreq frequency 요청 우선순위
우선순위요청특징
1max_freqThermal throttling을 위해 min_freq보다 우선
2min_freqGovernor request보다 우선
3governor기본 frequency request

User constraint와 governor request가 충돌할 때의 우선순위입니다.

Devfreq polling interval

94-107
항목한국어 전문 번역
What/sys/class/devfreq/.../polling_interval
Date2011년 9월
ContactMyungJoo Ham <myungjoo.ham@samsung.com>
Description해당 devfreq object의 요청 polling interval을 표시하고 설정합니다. 값은 ms 단위입니다. 값이 1 jiffy보다 작으면 0으로 간주하며 polling하지 않는다는 뜻입니다. Governor가 polling 방식이 아니면 이 값은 의미가 없습니다. 이 node를 지원하는 governor는 simple_ondmenad와 tegra_actmon입니다.
polling_interval 지원 governor
Governor비고
simple_ondmenad원문 표기
tegra_actmonPolling interval 지원

원문에 나열된 node 지원 governor 이름을 그대로 보존합니다.

Userspace governor frequency

109-118
항목한국어 전문 번역
What/sys/class/devfreq/.../userspace/set_freq
Date2011년 9월
ContactMyungJoo Ham <myungjoo.ham@samsung.com>
Descriptionuserspace governor가 적용 중일 때 devfreq object에 요청한 frequency를 표시하고 설정합니다. 이 node를 지원하는 governor는 userspace입니다.

Devfreq workqueue timer

120-134
항목한국어 전문 번역
What/sys/class/devfreq/.../timer
Date2020년 7월
ContactChanwoo Choi <cw00.choi@samsung.com>
DescriptionUser가 선택한 work timer 종류를 표시하고 저장합니다. Devfreq workqueue는 utilization 같은 device status를 monitor하기 위해 이 timer를 사용합니다. User는 runtime에 필요에 따라 work timer를 변경할 수 있습니다. 이 node를 지원하는 governor는 simple_ondemand입니다.
echo deferrable > /sys/class/devfreq/.../timer
echo delayed > /sys/class/devfreq/.../timer
Devfreq work timer option
Timer지원 governor
deferrablesimple_ondemand
delayedsimple_ondemand

timer 속성에 쓸 수 있는 원문 예시와 지원 governor입니다.