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

TOMOYO Linux Cross Reference
Linux/arch/powerpc/perf/hv-gpci-requests.h

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 /arch/powerpc/perf/hv-gpci-requests.h (Version linux-6.12-rc7) and /arch/mips/perf/hv-gpci-requests.h (Version linux-5.14.21)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2                                                   
  3 #include "req-gen/_begin.h"                       
  4                                                   
  5 /*                                                
  6  * Based on the document "getPerfCountInfo v1.    
  7  */                                               
  8                                                   
  9 /*                                                
 10  * #define REQUEST_NAME counter_request_name      
 11  * #define REQUEST_NUM r_num                      
 12  * #define REQUEST_IDX_KIND starting_index_kin    
 13  * #include I(REQUEST_BEGIN)                      
 14  * REQUEST(                                       
 15  *      __field(...)                              
 16  *      __field(...)                              
 17  *      __array(...)                              
 18  *      __count(...)                              
 19  * )                                              
 20  * #include I(REQUEST_END)                        
 21  *                                                
 22  * - starting_index_kind is one of the followi    
 23  *                                                
 24  *   hw_chip_id: hardware chip id or -1 for cu    
 25  *   partition_id                                 
 26  *   sibling_part_id,                             
 27  *   phys_processor_idx:                          
 28  *   0xffffffffffffffff: or -1, which means it    
 29  *                                                
 30  * __count(offset, bytes, name):                  
 31  *      a counter that should be exposed via p    
 32  * __field(offset, bytes, name)                   
 33  *      a normal field                            
 34  * __array(offset, bytes, name)                   
 35  *      an array of bytes                         
 36  *                                                
 37  *                                                
 38  *      @bytes for __count, and __field _must_    
 39  *      in decimal, not an expression and not     
 40  *                                                
 41  *                                                
 42  * TODO:                                          
 43  *      - expose secondary index (if any count    
 44  *        appears to use it right now, and it     
 45  *      - embed versioning info                   
 46  *      - include counter descriptions            
 47  */                                               
 48 #define REQUEST_NAME dispatch_timebase_by_proc    
 49 #define REQUEST_NUM 0x10                          
 50 #define REQUEST_IDX_KIND "phys_processor_idx=?    
 51 #include I(REQUEST_BEGIN)                         
 52 REQUEST(__count(0,      8,      processor_time    
 53         __field(0x8,    4,      hw_processor_i    
 54         __field(0xC,    2,      owning_part_id    
 55         __field(0xE,    1,      processor_stat    
 56         __field(0xF,    1,      version)          
 57         __field(0x10,   4,      hw_chip_id)       
 58         __field(0x14,   4,      phys_module_id    
 59         __field(0x18,   4,      primary_affini    
 60         __field(0x1C,   4,      secondary_affi    
 61         __field(0x20,   4,      processor_vers    
 62         __field(0x24,   2,      logical_proces    
 63         __field(0x26,   2,      reserved)         
 64         __field(0x28,   4,      processor_id_r    
 65         __field(0x2C,   4,      phys_processor    
 66 )                                                 
 67 #include I(REQUEST_END)                           
 68                                                   
 69 #define REQUEST_NAME entitled_capped_uncapped_    
 70 #define REQUEST_NUM 0x20                          
 71 #define REQUEST_IDX_KIND "sibling_part_id=?"      
 72 #include I(REQUEST_BEGIN)                         
 73 REQUEST(__field(0,      8,      partition_id)     
 74         __count(0x8,    8,      entitled_cycle    
 75         __count(0x10,   8,      consumed_cappe    
 76         __count(0x18,   8,      consumed_uncap    
 77         __count(0x20,   8,      cycles_donated    
 78         __count(0x28,   8,      purr_idle_cycl    
 79 )                                                 
 80 #include I(REQUEST_END)                           
 81                                                   
 82 #ifdef ENABLE_EVENTS_COUNTERINFO_V6               
 83 /*                                                
 84  * Not available for counter_info_version >= 0    
 85  * run_instruction_cycles_by_partition(0x100)     
 86  */                                               
 87 #define REQUEST_NAME run_instructions_run_cycl    
 88 #define REQUEST_NUM 0x30                          
 89 #define REQUEST_IDX_KIND "sibling_part_id=?"      
 90 #include I(REQUEST_BEGIN)                         
 91 REQUEST(__field(0,      8,      partition_id)     
 92         __count(0x8,    8,      instructions_c    
 93         __count(0x10,   8,      cycles)           
 94 )                                                 
 95 #include I(REQUEST_END)                           
 96 #endif                                            
 97                                                   
 98 #define REQUEST_NAME system_performance_capabi    
 99 #define REQUEST_NUM 0x40                          
100 #define REQUEST_IDX_KIND "starting_index=0xfff    
101 #include I(REQUEST_BEGIN)                         
102 REQUEST(__field(0,      1,      perf_collect_p    
103         __field(0x1,    1,      capability_mas    
104         __array(0x2,    0xE,    reserved)         
105 )                                                 
106 #include I(REQUEST_END)                           
107                                                   
108 #ifdef ENABLE_EVENTS_COUNTERINFO_V6               
109 #define REQUEST_NAME processor_bus_utilization    
110 #define REQUEST_NUM 0x50                          
111 #define REQUEST_IDX_KIND "hw_chip_id=?"           
112 #include I(REQUEST_BEGIN)                         
113 REQUEST(__field(0,      4,      hw_chip_id)       
114         __array(0x4,    0xC,    reserved1)        
115         __count(0x10,   8,      total_link_cyc    
116         __count(0x18,   8,      idle_cycles_fo    
117         __count(0x20,   8,      idle_cycles_fo    
118         __count(0x28,   8,      idle_cycles_fo    
119         __array(0x30,   0x20,   reserved2)        
120 )                                                 
121 #include I(REQUEST_END)                           
122                                                   
123 #define REQUEST_NAME processor_bus_utilization    
124 #define REQUEST_NUM 0x60                          
125 #define REQUEST_IDX_KIND "hw_chip_id=?"           
126 #include I(REQUEST_BEGIN)                         
127 REQUEST(__field(0,      4,      hw_chip_id)       
128         __array(0x4,    0xC,    reserved1)        
129         __count(0x10,   8,      total_link_cyc    
130         __count(0x18,   8,      idle_cycles_fo    
131         __count(0x20,   8,      idle_cycles_fo    
132         __count(0x28,   8,      idle_cycles_fo    
133         __count(0x30,   8,      idle_cycles_fo    
134         __array(0x38,   0x28,   reserved2)        
135 )                                                 
136 #include I(REQUEST_END)                           
137                                                   
138 #define REQUEST_NAME processor_bus_utilization    
139 #define REQUEST_NUM 0x70                          
140 #define REQUEST_IDX_KIND "hw_chip_id=?"           
141 #include I(REQUEST_BEGIN)                         
142 REQUEST(__field(0,      4,      hw_chip_id)       
143         __array(0x4,    0xC,    reserved1)        
144         __count(0x10,   8,      gx0_in_address    
145         __count(0x18,   8,      gx0_in_data_cy    
146         __count(0x20,   8,      gx0_in_retries    
147         __count(0x28,   8,      gx0_in_bus_cyc    
148         __count(0x30,   8,      gx0_in_cycles_    
149         __count(0x38,   8,      gx0_out_addres    
150         __count(0x40,   8,      gx0_out_data_c    
151         __count(0x48,   8,      gx0_out_retrie    
152         __count(0x50,   8,      gx0_out_bus_cy    
153         __count(0x58,   8,      gx0_out_cycles    
154         __count(0x60,   8,      gx1_in_address    
155         __count(0x68,   8,      gx1_in_data_cy    
156         __count(0x70,   8,      gx1_in_retries    
157         __count(0x78,   8,      gx1_in_bus_cyc    
158         __count(0x80,   8,      gx1_in_cycles_    
159         __count(0x88,   8,      gx1_out_addres    
160         __count(0x90,   8,      gx1_out_data_c    
161         __count(0x98,   8,      gx1_out_retrie    
162         __count(0xA0,   8,      gx1_out_bus_cy    
163         __count(0xA8,   8,      gx1_out_cycles    
164 )                                                 
165 #include I(REQUEST_END)                           
166                                                   
167 #define REQUEST_NAME processor_bus_utilization    
168 #define REQUEST_NUM 0x80                          
169 #define REQUEST_IDX_KIND "hw_chip_id=?"           
170 #include I(REQUEST_BEGIN)                         
171 REQUEST(__field(0,      4,      hw_chip_id)       
172         __array(0x4,    0xC,    reserved1)        
173         __count(0x10,   8,      mc0_frames)       
174         __count(0x18,   8,      mc0_reads)        
175         __count(0x20,   8,      mc0_write)        
176         __count(0x28,   8,      mc0_total_cycl    
177         __count(0x30,   8,      mc1_frames)       
178         __count(0x38,   8,      mc1_reads)        
179         __count(0x40,   8,      mc1_writes)       
180         __count(0x48,   8,      mc1_total_cycl    
181 )                                                 
182 #include I(REQUEST_END)                           
183                                                   
184 /* Processor_config (0x90) skipped, no counter    
185 /* Current_processor_frequency (0x91) skipped,    
186                                                   
187 #define REQUEST_NAME processor_core_utilizatio    
188 #define REQUEST_NUM 0x94                          
189 #define REQUEST_IDX_KIND "phys_processor_idx=?    
190 #include I(REQUEST_BEGIN)                         
191 REQUEST(__field(0,      4,      phys_processor    
192         __field(0x4,    4,      hw_processor_i    
193         __count(0x8,    8,      cycles_across_    
194         __count(0x10,   8,      timebase_at_co    
195         __count(0x18,   8,      purr_cycles)      
196         __count(0x20,   8,      sum_of_cycles_    
197         __count(0x28,   8,      instructions_c    
198 )                                                 
199 #include I(REQUEST_END)                           
200 #endif                                            
201                                                   
202 /* Processor_core_power_mode (0x95) skipped, n    
203 /* Affinity_domain_information_by_virtual_proc    
204  *      no counters */                            
205 /* Affinity_domain_information_by_domain (0xB0    
206 /* Affinity_domain_information_by_partition (0    
207 /* Physical_memory_info (0xC0) skipped, no cou    
208 /* Processor_bus_topology (0xD0) skipped, no c    
209                                                   
210 #define REQUEST_NAME partition_hypervisor_queu    
211 #define REQUEST_NUM 0xE0                          
212 #define REQUEST_IDX_KIND "partition_id=?"         
213 #include I(REQUEST_BEGIN)                         
214 REQUEST(__field(0,      2, partition_id)          
215         __array(0x2,    6, reserved1)             
216         __count(0x8,    8, time_waiting_for_en    
217         __count(0x10,   8, times_waited_for_en    
218         __count(0x18,   8, time_waiting_for_ph    
219         __count(0x20,   8, times_waited_for_ph    
220         __count(0x28,   8, dispatches_on_home_    
221         __count(0x30,   8, dispatches_on_home_    
222         __count(0x38,   8, dispatches_on_home_    
223         __count(0x40,   8, dispatches_off_home    
224         __count(0x48,   8, dispatches_on_dedic    
225 )                                                 
226 #include I(REQUEST_END)                           
227                                                   
228 #define REQUEST_NAME system_hypervisor_times      
229 #define REQUEST_NUM 0xF0                          
230 #define REQUEST_IDX_KIND "starting_index=0xfff    
231 #include I(REQUEST_BEGIN)                         
232 REQUEST(__count(0,      8,      time_spent_to_    
233         __count(0x8,    8,      time_spent_pro    
234         __count(0x10,   8,      time_spent_man    
235         __count(0x18,   8,      time_spent_on_    
236 )                                                 
237 #include I(REQUEST_END)                           
238                                                   
239 #define REQUEST_NAME system_tlbie_count_and_ti    
240 #define REQUEST_NUM 0xF4                          
241 #define REQUEST_IDX_KIND "starting_index=0xfff    
242 #include I(REQUEST_BEGIN)                         
243 REQUEST(__count(0,      8,      tlbie_instruct    
244         /*                                        
245          * FIXME: The spec says the offset her    
246          *        is wrong.                       
247          */                                       
248         __count(0x8,    8,      time_spent_iss    
249 )                                                 
250 #include I(REQUEST_END)                           
251                                                   
252 #define REQUEST_NAME partition_instruction_cou    
253 #define REQUEST_NUM 0x100                         
254 #define REQUEST_IDX_KIND "partition_id=?"         
255 #include I(REQUEST_BEGIN)                         
256 REQUEST(__field(0,      2,      partition_id)     
257         __array(0x2,    0x6,    reserved1)        
258         __count(0x8,    8,      instructions_p    
259         __count(0x10,   8,      time_collected    
260 )                                                 
261 #include I(REQUEST_END)                           
262                                                   
263 /* set_mmcrh (0x80001000) skipped, no counters    
264 /* retrieve_hpmcx (0x80002000) skipped, no cou    
265                                                   
266 #include "req-gen/_end.h"                         
267                                                   

~ [ 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