Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 69 lines 1.8 kB view raw
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*/ 14enum 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_ACTION, 29 EVSEL__CONFIG_TERM_AUX_SAMPLE_SIZE, 30 EVSEL__CONFIG_TERM_USR_CHG_CONFIG, 31 EVSEL__CONFIG_TERM_USR_CHG_CONFIG1, 32 EVSEL__CONFIG_TERM_USR_CHG_CONFIG2, 33 EVSEL__CONFIG_TERM_USR_CHG_CONFIG3, 34 EVSEL__CONFIG_TERM_USR_CHG_CONFIG4, 35 EVSEL__CONFIG_TERM_RATIO_TO_PREV, 36}; 37 38struct evsel_config_term { 39 struct list_head list; 40 enum evsel_term_type type; 41 bool free_str; 42 union { 43 u64 period; 44 u64 freq; 45 bool time; 46 u64 stack_user; 47 int max_stack; 48 bool inherit; 49 bool overwrite; 50 unsigned long max_events; 51 bool percore; 52 bool aux_output; 53 u32 aux_sample_size; 54 u64 cfg_chg; 55 char *str; 56 int cpu; 57 u64 val; 58 } val; 59 bool weak; 60}; 61 62struct evsel; 63 64struct evsel_config_term *__evsel__get_config_term(struct evsel *evsel, enum evsel_term_type type); 65 66#define evsel__get_config_term(evsel, type) \ 67 __evsel__get_config_term(evsel, EVSEL__CONFIG_TERM_ ## type) 68 69#endif // __PERF_EVSEL_CONFIG_H