~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/power/powercap/powercap.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/power/powercap/powercap.rst (Version linux-6.12-rc7) and /Documentation/power/powercap/powercap.rst (Version linux-4.9.337)


  1 =======================                           
  2 Power Capping Framework                           
  3 =======================                           
  4                                                   
  5 The power capping framework provides a consist    
  6 and the user space that allows power capping d    
  7 user space in a uniform way.                      
  8                                                   
  9 Terminology                                       
 10 ===========                                       
 11                                                   
 12 The framework exposes power capping devices to    
 13 form of a tree of objects. The objects at the     
 14 'control types', which correspond to different    
 15 example, the intel-rapl control type represent    
 16 Power Limit" (RAPL) technology, whereas the 'i    
 17 corresponds to the use of idle injection for c    
 18                                                   
 19 Power zones represent different parts of the s    
 20 monitored using the power capping method deter    
 21 given zone belongs to. They each contain attri    
 22 well as controls represented in the form of po    
 23 the system represented by different power zone    
 24 bigger part consists of multiple smaller parts    
 25 controls), those power zones may also be organ    
 26 parent power zone containing multiple subzones    
 27 control topology of the system.  In that case,    
 28 capping to a set of devices together using the    
 29 fine grained control is required, it can be ap    
 30                                                   
 31                                                   
 32 Example sysfs interface tree::                    
 33                                                   
 34   /sys/devices/virtual/powercap                   
 35   └──intel-rapl                             
 36       ├──intel-rapl:0                       
 37       │   ├──constraint_0_name          
 38       │   ├──constraint_0_power_limi    
 39       │   ├──constraint_0_time_windo    
 40       │   ├──constraint_1_name          
 41       │   ├──constraint_1_power_limi    
 42       │   ├──constraint_1_time_windo    
 43       │   ├──device -> ../../intel-r    
 44       │   ├──energy_uj                  
 45       │   ├──intel-rapl:0:0             
 46       │   │   ├──constraint_0_na    
 47       │   │   ├──constraint_0_po    
 48       │   │   ├──constraint_0_ti    
 49       │   │   ├──constraint_1_na    
 50       │   │   ├──constraint_1_po    
 51       │   │   ├──constraint_1_ti    
 52       │   │   ├──device -> ../..    
 53       │   │   ├──energy_uj          
 54       │   │   ├──max_energy_rang    
 55       │   │   ├──name               
 56       │   │   ├──enabled            
 57       │   │   ├──power              
 58       │   │   │   ├──async      
 59       │   │   │   []                  
 60       │   │   ├──subsystem -> ..    
 61       │   │   └──uevent             
 62       │   ├──intel-rapl:0:1             
 63       │   │   ├──constraint_0_na    
 64       │   │   ├──constraint_0_po    
 65       │   │   ├──constraint_0_ti    
 66       │   │   ├──constraint_1_na    
 67       │   │   ├──constraint_1_po    
 68       │   │   ├──constraint_1_ti    
 69       │   │   ├──device -> ../..    
 70       │   │   ├──energy_uj          
 71       │   │   ├──max_energy_rang    
 72       │   │   ├──name               
 73       │   │   ├──enabled            
 74       │   │   ├──power              
 75       │   │   │   ├──async      
 76       │   │   │   []                  
 77       │   │   ├──subsystem -> ..    
 78       │   │   └──uevent             
 79       │   ├──max_energy_range_uj        
 80       │   ├──max_power_range_uw         
 81       │   ├──name                       
 82       │   ├──enabled                    
 83       │   ├──power                      
 84       │   │   ├──async              
 85       │   │   []                          
 86       │   ├──subsystem -> ../../../.    
 87       │   ├──enabled                    
 88       │   ├──uevent                     
 89       ├──intel-rapl:1                       
 90       │   ├──constraint_0_name          
 91       │   ├──constraint_0_power_limi    
 92       │   ├──constraint_0_time_windo    
 93       │   ├──constraint_1_name          
 94       │   ├──constraint_1_power_limi    
 95       │   ├──constraint_1_time_windo    
 96       │   ├──device -> ../../intel-r    
 97       │   ├──energy_uj                  
 98       │   ├──intel-rapl:1:0             
 99       │   │   ├──constraint_0_na    
100       │   │   ├──constraint_0_po    
101       │   │   ├──constraint_0_ti    
102       │   │   ├──constraint_1_na    
103       │   │   ├──constraint_1_po    
104       │   │   ├──constraint_1_ti    
105       │   │   ├──device -> ../..    
106       │   │   ├──energy_uj          
107       │   │   ├──max_energy_rang    
108       │   │   ├──name               
109       │   │   ├──enabled            
110       │   │   ├──power              
111       │   │   │   ├──async      
112       │   │   │   []                  
113       │   │   ├──subsystem -> ..    
114       │   │   └──uevent             
115       │   ├──intel-rapl:1:1             
116       │   │   ├──constraint_0_na    
117       │   │   ├──constraint_0_po    
118       │   │   ├──constraint_0_ti    
119       │   │   ├──constraint_1_na    
120       │   │   ├──constraint_1_po    
121       │   │   ├──constraint_1_ti    
122       │   │   ├──device -> ../..    
123       │   │   ├──energy_uj          
124       │   │   ├──max_energy_rang    
125       │   │   ├──name               
126       │   │   ├──enabled            
127       │   │   ├──power              
128       │   │   │   ├──async      
129       │   │   │   []                  
130       │   │   ├──subsystem -> ..    
131       │   │   └──uevent             
132       │   ├──max_energy_range_uj        
133       │   ├──max_power_range_uw         
134       │   ├──name                       
135       │   ├──enabled                    
136       │   ├──power                      
137       │   │   ├──async              
138       │   │   []                          
139       │   ├──subsystem -> ../../../.    
140       │   ├──uevent                     
141       ├──power                              
142       │   ├──async                      
143       │   []                                  
144       ├──subsystem -> ../../../../class/    
145       ├──enabled                            
146       └──uevent                             
147                                                   
148 The above example illustrates a case in which     
149 available in Intel® IA-64 and IA-32 Processor    
150 control type called intel-rapl which contains     
151 intel-rapl:1, representing CPU packages.  Each    
152 two subzones, intel-rapl:j:0 and intel-rapl:j:    
153 "core" and the "uncore" parts of the given CPU    
154 the zones and subzones contain energy monitori    
155 max_energy_range_uj) and constraint attributes    
156 to be applied (the constraints in the 'package    
157 CPU packages and the subzone constraints only     
158 the given package individually). Since Intel R    
159 power value, there is no power_uw attribute.      
160                                                   
161 In addition to that, each power zone contains     
162 part of the system represented by that zone to    
163 For example::                                     
164                                                   
165         cat /sys/class/power_cap/intel-rapl/in    
166                                                   
167 package-0                                         
168 ---------                                         
169                                                   
170 Depending on different power zones, the Intel     
171 one or multiple constraints like short term, l    
172 with different time windows to be applied to e    
173 All the zones contain attributes representing     
174 power limits and the sizes of the time windows    
175 is not applicable to peak power. Here, constra    
176 correspond to the jth constraint (j = 0,1,2).     
177                                                   
178 For example::                                     
179                                                   
180         constraint_0_name                         
181         constraint_0_power_limit_uw               
182         constraint_0_time_window_us               
183         constraint_1_name                         
184         constraint_1_power_limit_uw               
185         constraint_1_time_window_us               
186         constraint_2_name                         
187         constraint_2_power_limit_uw               
188         constraint_2_time_window_us               
189                                                   
190 Power Zone Attributes                             
191 =====================                             
192                                                   
193 Monitoring attributes                             
194 ---------------------                             
195                                                   
196 energy_uj (rw)                                    
197         Current energy counter in micro joules    
198         If the counter can not be reset, then     
199                                                   
200 max_energy_range_uj (ro)                          
201         Range of the above energy counter in m    
202                                                   
203 power_uw (ro)                                     
204         Current power in micro watts.             
205                                                   
206 max_power_range_uw (ro)                           
207         Range of the above power value in micr    
208                                                   
209 name (ro)                                         
210         Name of this power zone.                  
211                                                   
212 It is possible that some domains have both pow    
213 however, only one is mandatory.                   
214                                                   
215 Constraints                                       
216 -----------                                       
217                                                   
218 constraint_X_power_limit_uw (rw)                  
219         Power limit in micro watts, which shou    
220         time window specified by "constraint_X    
221                                                   
222 constraint_X_time_window_us (rw)                  
223         Time window in micro seconds.             
224                                                   
225 constraint_X_name (ro)                            
226         An optional name of the constraint        
227                                                   
228 constraint_X_max_power_uw(ro)                     
229         Maximum allowed power in micro watts.     
230                                                   
231 constraint_X_min_power_uw(ro)                     
232         Minimum allowed power in micro watts.     
233                                                   
234 constraint_X_max_time_window_us(ro)               
235         Maximum allowed time window in micro s    
236                                                   
237 constraint_X_min_time_window_us(ro)               
238         Minimum allowed time window in micro s    
239                                                   
240 Except power_limit_uw and time_window_us other    
241                                                   
242 Common zone and control type attributes           
243 ---------------------------------------           
244                                                   
245 enabled (rw): Enable/Disable controls at zone     
246 a control type.                                   
247                                                   
248 Power Cap Client Driver Interface                 
249 =================================                 
250                                                   
251 The API summary:                                  
252                                                   
253 Call powercap_register_control_type() to regis    
254 Call powercap_register_zone() to register a po    
255 control type), either as a top-level power zon    
256 power zone registered earlier.                    
257 The number of constraints in a power zone and     
258 to be defined prior to calling powercap_regist    
259                                                   
260 To Free a power zone call powercap_unregister_    
261 To free a control type object call powercap_un    
262 Detailed API can be generated using kernel-doc    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php