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

TOMOYO Linux Cross Reference
Linux/tools/perf/util/evsel_config.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 ] ~

  1 // SPDX-License-Identifier: GPL-2.0
  2 #ifndef __PERF_EVSEL_CONFIG_H
  3 #define __PERF_EVSEL_CONFIG_H 1
  4 
  5 #include <linux/types.h>
  6 #include <stdbool.h>
  7 
  8 /*
  9  * The 'struct evsel_config_term' is used to pass event
 10  * specific configuration data to evsel__config routine.
 11  * It is allocated within event parsing and attached to
 12  * evsel::config_terms list head.
 13 */
 14 enum evsel_term_type {
 15         EVSEL__CONFIG_TERM_PERIOD,
 16         EVSEL__CONFIG_TERM_FREQ,
 17         EVSEL__CONFIG_TERM_TIME,
 18         EVSEL__CONFIG_TERM_CALLGRAPH,
 19         EVSEL__CONFIG_TERM_STACK_USER,
 20         EVSEL__CONFIG_TERM_INHERIT,
 21         EVSEL__CONFIG_TERM_MAX_STACK,
 22         EVSEL__CONFIG_TERM_MAX_EVENTS,
 23         EVSEL__CONFIG_TERM_OVERWRITE,
 24         EVSEL__CONFIG_TERM_DRV_CFG,
 25         EVSEL__CONFIG_TERM_BRANCH,
 26         EVSEL__CONFIG_TERM_PERCORE,
 27         EVSEL__CONFIG_TERM_AUX_OUTPUT,
 28         EVSEL__CONFIG_TERM_AUX_SAMPLE_SIZE,
 29         EVSEL__CONFIG_TERM_CFG_CHG,
 30 };
 31 
 32 struct evsel_config_term {
 33         struct list_head      list;
 34         enum evsel_term_type  type;
 35         bool                  free_str;
 36         union {
 37                 u64           period;
 38                 u64           freq;
 39                 bool          time;
 40                 u64           stack_user;
 41                 int           max_stack;
 42                 bool          inherit;
 43                 bool          overwrite;
 44                 unsigned long max_events;
 45                 bool          percore;
 46                 bool          aux_output;
 47                 u32           aux_sample_size;
 48                 u64           cfg_chg;
 49                 char          *str;
 50         } val;
 51         bool weak;
 52 };
 53 
 54 struct evsel;
 55 
 56 struct evsel_config_term *__evsel__get_config_term(struct evsel *evsel, enum evsel_term_type type);
 57 
 58 #define evsel__get_config_term(evsel, type) \
 59         __evsel__get_config_term(evsel, EVSEL__CONFIG_TERM_ ## type)
 60 
 61 #endif // __PERF_EVSEL_CONFIG_H
 62 

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