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

TOMOYO Linux Cross Reference
Linux/tools/perf/util/header.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 /tools/perf/util/header.h (Version linux-6.12-rc7) and /tools/perf/util/header.h (Version linux-6.1.114)


** Warning: Cannot open xref database.

  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 #ifndef __PERF_HEADER_H                           
  3 #define __PERF_HEADER_H                           
  4                                                   
  5 #include <linux/stddef.h>                         
  6 #include <linux/perf_event.h>                     
  7 #include <sys/types.h>                            
  8 #include <stdio.h> // FILE                        
  9 #include <stdbool.h>                              
 10 #include <linux/bitmap.h>                         
 11 #include <linux/types.h>                          
 12 #include "env.h"                                  
 13 #include "pmu.h"                                  
 14                                                   
 15 enum {                                            
 16         HEADER_RESERVED         = 0,    /* alw    
 17         HEADER_FIRST_FEATURE    = 1,              
 18         HEADER_TRACING_DATA     = 1,              
 19         HEADER_BUILD_ID,                          
 20                                                   
 21         HEADER_HOSTNAME,                          
 22         HEADER_OSRELEASE,                         
 23         HEADER_VERSION,                           
 24         HEADER_ARCH,                              
 25         HEADER_NRCPUS,                            
 26         HEADER_CPUDESC,                           
 27         HEADER_CPUID,                             
 28         HEADER_TOTAL_MEM,                         
 29         HEADER_CMDLINE,                           
 30         HEADER_EVENT_DESC,                        
 31         HEADER_CPU_TOPOLOGY,                      
 32         HEADER_NUMA_TOPOLOGY,                     
 33         HEADER_BRANCH_STACK,                      
 34         HEADER_PMU_MAPPINGS,                      
 35         HEADER_GROUP_DESC,                        
 36         HEADER_AUXTRACE,                          
 37         HEADER_STAT,                              
 38         HEADER_CACHE,                             
 39         HEADER_SAMPLE_TIME,                       
 40         HEADER_MEM_TOPOLOGY,                      
 41         HEADER_CLOCKID,                           
 42         HEADER_DIR_FORMAT,                        
 43         HEADER_BPF_PROG_INFO,                     
 44         HEADER_BPF_BTF,                           
 45         HEADER_COMPRESSED,                        
 46         HEADER_CPU_PMU_CAPS,                      
 47         HEADER_CLOCK_DATA,                        
 48         HEADER_HYBRID_TOPOLOGY,                   
 49         HEADER_PMU_CAPS,                          
 50         HEADER_LAST_FEATURE,                      
 51         HEADER_FEAT_BITS        = 256,            
 52 };                                                
 53                                                   
 54 enum perf_header_version {                        
 55         PERF_HEADER_VERSION_1,                    
 56         PERF_HEADER_VERSION_2,                    
 57 };                                                
 58                                                   
 59 struct perf_file_section {                        
 60         u64 offset;                               
 61         u64 size;                                 
 62 };                                                
 63                                                   
 64 /**                                               
 65  * struct perf_file_header: Header representat    
 66  */                                               
 67 struct perf_file_header {                         
 68         /** @magic: Holds "PERFILE2". */          
 69         u64                             magic;    
 70         /** @size: Size of this header - sizeo    
 71         u64                             size;     
 72         /**                                       
 73          * @attr_size: Size of attrs entries -    
 74          * sizeof(struct perf_file_section).      
 75          */                                       
 76         u64                             attr_s    
 77         /** @attrs: Offset and size of file se    
 78         struct perf_file_section        attrs;    
 79         /** @data: Offset and size of file sec    
 80         struct perf_file_section        data;     
 81         /** @event_types: Ignored. */             
 82         struct perf_file_section        event_    
 83         /**                                       
 84          * @adds_features: Bitmap of features.    
 85          */                                       
 86         DECLARE_BITMAP(adds_features, HEADER_F    
 87 };                                                
 88                                                   
 89 struct perf_pipe_file_header {                    
 90         u64                             magic;    
 91         u64                             size;     
 92 };                                                
 93                                                   
 94 struct perf_header;                               
 95                                                   
 96 int perf_file_header__read(struct perf_file_he    
 97                            struct perf_header     
 98                                                   
 99 struct perf_header {                              
100         enum perf_header_version        versio    
101         bool                            needs_    
102         u64                             data_o    
103         u64                             data_s    
104         u64                             feat_o    
105         DECLARE_BITMAP(adds_features, HEADER_F    
106         struct perf_env         env;              
107 };                                                
108                                                   
109 struct feat_fd {                                  
110         struct perf_header *ph;                   
111         int                fd;                    
112         void               *buf;        /* Eit    
113         ssize_t            offset;                
114         size_t             size;                  
115         struct evsel       *events;               
116 };                                                
117                                                   
118 struct perf_header_feature_ops {                  
119         int        (*write)(struct feat_fd *ff    
120         void       (*print)(struct feat_fd *ff    
121         int        (*process)(struct feat_fd *    
122         const char *name;                         
123         bool       full_only;                     
124         bool       synthesize;                    
125 };                                                
126                                                   
127 struct evlist;                                    
128 struct perf_session;                              
129 struct perf_tool;                                 
130 union perf_event;                                 
131                                                   
132 extern const char perf_version_string[];          
133                                                   
134 int perf_session__read_header(struct perf_sess    
135 int perf_session__write_header(struct perf_ses    
136                                struct evlist *    
137                                int fd, bool at    
138 int perf_header__write_pipe(int fd);              
139                                                   
140 /* feat_writer writes a feature section to out    
141 struct feat_writer {                              
142         int (*write)(struct feat_writer *fw, v    
143 };                                                
144                                                   
145 /* feat_copier copies a feature section using     
146 struct feat_copier {                              
147         int (*copy)(struct feat_copier *fc, in    
148 };                                                
149                                                   
150 int perf_session__inject_header(struct perf_se    
151                                 struct evlist     
152                                 int fd,           
153                                 struct feat_co    
154                                 bool write_att    
155                                                   
156 size_t perf_session__data_offset(const struct     
157                                                   
158 void perf_header__set_feat(struct perf_header     
159 void perf_header__clear_feat(struct perf_heade    
160 bool perf_header__has_feat(const struct perf_h    
161                                                   
162 int perf_header__set_cmdline(int argc, const c    
163                                                   
164 int perf_header__process_sections(struct perf_    
165                                   void *data,     
166                                   int (*proces    
167                                   struct perf_    
168                                   int feat, in    
169                                                   
170 int perf_header__fprintf_info(struct perf_sess    
171                                                   
172 int perf_event__process_feature(struct perf_se    
173                                 union perf_eve    
174 int perf_event__process_attr(const struct perf    
175                              struct evlist **p    
176 int perf_event__process_event_update(const str    
177                                      union per    
178                                      struct ev    
179 size_t perf_event__fprintf_event_update(union     
180 #ifdef HAVE_LIBTRACEEVENT                         
181 int perf_event__process_tracing_data(struct pe    
182                                      union per    
183 #endif                                            
184 int perf_event__process_build_id(struct perf_s    
185                                  union perf_ev    
186 bool is_perf_magic(u64 magic);                    
187                                                   
188 #define NAME_ALIGN 64                             
189                                                   
190 struct feat_fd;                                   
191                                                   
192 int do_write(struct feat_fd *fd, const void *b    
193                                                   
194 int write_padded(struct feat_fd *fd, const voi    
195                  size_t count, size_t count_al    
196                                                   
197 #define MAX_CACHE_LVL 4                           
198                                                   
199 int is_cpu_online(unsigned int cpu);              
200 int build_caches_for_cpu(u32 cpu, struct cpu_c    
201                                                   
202 /*                                                
203  * arch specific callback                         
204  */                                               
205 int get_cpuid(char *buffer, size_t sz);           
206                                                   
207 char *get_cpuid_str(struct perf_pmu *pmu __may    
208 int strcmp_cpuid_str(const char *s1, const cha    
209 #endif /* __PERF_HEADER_H */                      
210                                                   

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