perf evsel: Rename *perf_evsel__get_config_term() & friends to evsel__env()

As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
libperf, to whom the perf_ prefix belongs.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 2dbfc945
...@@ -216,7 +216,7 @@ static int cs_etm_set_sink_attr(struct perf_pmu *pmu, ...@@ -216,7 +216,7 @@ static int cs_etm_set_sink_attr(struct perf_pmu *pmu,
struct evsel *evsel) struct evsel *evsel)
{ {
char msg[BUFSIZ], path[PATH_MAX], *sink; char msg[BUFSIZ], path[PATH_MAX], *sink;
struct perf_evsel_config_term *term; struct evsel_config_term *term;
int ret = -EINVAL; int ret = -EINVAL;
u32 hash; u32 hash;
...@@ -224,7 +224,7 @@ static int cs_etm_set_sink_attr(struct perf_pmu *pmu, ...@@ -224,7 +224,7 @@ static int cs_etm_set_sink_attr(struct perf_pmu *pmu,
return 0; return 0;
list_for_each_entry(term, &evsel->config_terms, list) { list_for_each_entry(term, &evsel->config_terms, list) {
if (term->type != PERF_EVSEL__CONFIG_TERM_DRV_CFG) if (term->type != EVSEL__CONFIG_TERM_DRV_CFG)
continue; continue;
sink = term->val.str; sink = term->val.str;
......
...@@ -556,10 +556,9 @@ static int intel_pt_validate_config(struct perf_pmu *intel_pt_pmu, ...@@ -556,10 +556,9 @@ static int intel_pt_validate_config(struct perf_pmu *intel_pt_pmu,
static void intel_pt_config_sample_mode(struct perf_pmu *intel_pt_pmu, static void intel_pt_config_sample_mode(struct perf_pmu *intel_pt_pmu,
struct evsel *evsel) struct evsel *evsel)
{ {
struct perf_evsel_config_term *term;
u64 user_bits = 0, bits; u64 user_bits = 0, bits;
struct evsel_config_term *term = evsel__get_config_term(evsel, CFG_CHG);
term = perf_evsel__get_config_term(evsel, CFG_CHG);
if (term) if (term)
user_bits = term->val.cfg_chg; user_bits = term->val.cfg_chg;
......
...@@ -949,7 +949,7 @@ static int perf_top__overwrite_check(struct perf_top *top) ...@@ -949,7 +949,7 @@ static int perf_top__overwrite_check(struct perf_top *top)
{ {
struct record_opts *opts = &top->record_opts; struct record_opts *opts = &top->record_opts;
struct evlist *evlist = top->evlist; struct evlist *evlist = top->evlist;
struct perf_evsel_config_term *term; struct evsel_config_term *term;
struct list_head *config_terms; struct list_head *config_terms;
struct evsel *evsel; struct evsel *evsel;
int set, overwrite = -1; int set, overwrite = -1;
...@@ -958,7 +958,7 @@ static int perf_top__overwrite_check(struct perf_top *top) ...@@ -958,7 +958,7 @@ static int perf_top__overwrite_check(struct perf_top *top)
set = -1; set = -1;
config_terms = &evsel->config_terms; config_terms = &evsel->config_terms;
list_for_each_entry(term, config_terms, list) { list_for_each_entry(term, config_terms, list) {
if (term->type == PERF_EVSEL__CONFIG_TERM_OVERWRITE) if (term->type == EVSEL__CONFIG_TERM_OVERWRITE)
set = term->val.overwrite ? 1 : 0; set = term->val.overwrite ? 1 : 0;
} }
......
...@@ -729,7 +729,7 @@ int auxtrace_parse_sample_options(struct auxtrace_record *itr, ...@@ -729,7 +729,7 @@ int auxtrace_parse_sample_options(struct auxtrace_record *itr,
struct evlist *evlist, struct evlist *evlist,
struct record_opts *opts, const char *str) struct record_opts *opts, const char *str)
{ {
struct perf_evsel_config_term *term; struct evsel_config_term *term;
struct evsel *aux_evsel; struct evsel *aux_evsel;
bool has_aux_sample_size = false; bool has_aux_sample_size = false;
bool has_aux_leader = false; bool has_aux_leader = false;
...@@ -771,7 +771,7 @@ int auxtrace_parse_sample_options(struct auxtrace_record *itr, ...@@ -771,7 +771,7 @@ int auxtrace_parse_sample_options(struct auxtrace_record *itr,
evlist__for_each_entry(evlist, evsel) { evlist__for_each_entry(evlist, evsel) {
if (evsel__is_aux_event(evsel)) if (evsel__is_aux_event(evsel))
aux_evsel = evsel; aux_evsel = evsel;
term = perf_evsel__get_config_term(evsel, AUX_SAMPLE_SIZE); term = evsel__get_config_term(evsel, AUX_SAMPLE_SIZE);
if (term) { if (term) {
has_aux_sample_size = true; has_aux_sample_size = true;
evsel->core.attr.aux_sample_size = term->val.aux_sample_size; evsel->core.attr.aux_sample_size = term->val.aux_sample_size;
......
...@@ -767,10 +767,10 @@ perf_evsel__reset_callgraph(struct evsel *evsel, ...@@ -767,10 +767,10 @@ perf_evsel__reset_callgraph(struct evsel *evsel,
} }
} }
static void apply_config_terms(struct evsel *evsel, static void evsel__apply_config_terms(struct evsel *evsel,
struct record_opts *opts, bool track) struct record_opts *opts, bool track)
{ {
struct perf_evsel_config_term *term; struct evsel_config_term *term;
struct list_head *config_terms = &evsel->config_terms; struct list_head *config_terms = &evsel->config_terms;
struct perf_event_attr *attr = &evsel->core.attr; struct perf_event_attr *attr = &evsel->core.attr;
/* callgraph default */ /* callgraph default */
...@@ -783,30 +783,30 @@ static void apply_config_terms(struct evsel *evsel, ...@@ -783,30 +783,30 @@ static void apply_config_terms(struct evsel *evsel,
list_for_each_entry(term, config_terms, list) { list_for_each_entry(term, config_terms, list) {
switch (term->type) { switch (term->type) {
case PERF_EVSEL__CONFIG_TERM_PERIOD: case EVSEL__CONFIG_TERM_PERIOD:
if (!(term->weak && opts->user_interval != ULLONG_MAX)) { if (!(term->weak && opts->user_interval != ULLONG_MAX)) {
attr->sample_period = term->val.period; attr->sample_period = term->val.period;
attr->freq = 0; attr->freq = 0;
evsel__reset_sample_bit(evsel, PERIOD); evsel__reset_sample_bit(evsel, PERIOD);
} }
break; break;
case PERF_EVSEL__CONFIG_TERM_FREQ: case EVSEL__CONFIG_TERM_FREQ:
if (!(term->weak && opts->user_freq != UINT_MAX)) { if (!(term->weak && opts->user_freq != UINT_MAX)) {
attr->sample_freq = term->val.freq; attr->sample_freq = term->val.freq;
attr->freq = 1; attr->freq = 1;
evsel__set_sample_bit(evsel, PERIOD); evsel__set_sample_bit(evsel, PERIOD);
} }
break; break;
case PERF_EVSEL__CONFIG_TERM_TIME: case EVSEL__CONFIG_TERM_TIME:
if (term->val.time) if (term->val.time)
evsel__set_sample_bit(evsel, TIME); evsel__set_sample_bit(evsel, TIME);
else else
evsel__reset_sample_bit(evsel, TIME); evsel__reset_sample_bit(evsel, TIME);
break; break;
case PERF_EVSEL__CONFIG_TERM_CALLGRAPH: case EVSEL__CONFIG_TERM_CALLGRAPH:
callgraph_buf = term->val.str; callgraph_buf = term->val.str;
break; break;
case PERF_EVSEL__CONFIG_TERM_BRANCH: case EVSEL__CONFIG_TERM_BRANCH:
if (term->val.str && strcmp(term->val.str, "no")) { if (term->val.str && strcmp(term->val.str, "no")) {
evsel__set_sample_bit(evsel, BRANCH_STACK); evsel__set_sample_bit(evsel, BRANCH_STACK);
parse_branch_str(term->val.str, parse_branch_str(term->val.str,
...@@ -814,16 +814,16 @@ static void apply_config_terms(struct evsel *evsel, ...@@ -814,16 +814,16 @@ static void apply_config_terms(struct evsel *evsel,
} else } else
evsel__reset_sample_bit(evsel, BRANCH_STACK); evsel__reset_sample_bit(evsel, BRANCH_STACK);
break; break;
case PERF_EVSEL__CONFIG_TERM_STACK_USER: case EVSEL__CONFIG_TERM_STACK_USER:
dump_size = term->val.stack_user; dump_size = term->val.stack_user;
break; break;
case PERF_EVSEL__CONFIG_TERM_MAX_STACK: case EVSEL__CONFIG_TERM_MAX_STACK:
max_stack = term->val.max_stack; max_stack = term->val.max_stack;
break; break;
case PERF_EVSEL__CONFIG_TERM_MAX_EVENTS: case EVSEL__CONFIG_TERM_MAX_EVENTS:
evsel->max_events = term->val.max_events; evsel->max_events = term->val.max_events;
break; break;
case PERF_EVSEL__CONFIG_TERM_INHERIT: case EVSEL__CONFIG_TERM_INHERIT:
/* /*
* attr->inherit should has already been set by * attr->inherit should has already been set by
* evsel__config. If user explicitly set * evsel__config. If user explicitly set
...@@ -832,20 +832,20 @@ static void apply_config_terms(struct evsel *evsel, ...@@ -832,20 +832,20 @@ static void apply_config_terms(struct evsel *evsel,
*/ */
attr->inherit = term->val.inherit ? 1 : 0; attr->inherit = term->val.inherit ? 1 : 0;
break; break;
case PERF_EVSEL__CONFIG_TERM_OVERWRITE: case EVSEL__CONFIG_TERM_OVERWRITE:
attr->write_backward = term->val.overwrite ? 1 : 0; attr->write_backward = term->val.overwrite ? 1 : 0;
break; break;
case PERF_EVSEL__CONFIG_TERM_DRV_CFG: case EVSEL__CONFIG_TERM_DRV_CFG:
break; break;
case PERF_EVSEL__CONFIG_TERM_PERCORE: case EVSEL__CONFIG_TERM_PERCORE:
break; break;
case PERF_EVSEL__CONFIG_TERM_AUX_OUTPUT: case EVSEL__CONFIG_TERM_AUX_OUTPUT:
attr->aux_output = term->val.aux_output ? 1 : 0; attr->aux_output = term->val.aux_output ? 1 : 0;
break; break;
case PERF_EVSEL__CONFIG_TERM_AUX_SAMPLE_SIZE: case EVSEL__CONFIG_TERM_AUX_SAMPLE_SIZE:
/* Already applied by auxtrace */ /* Already applied by auxtrace */
break; break;
case PERF_EVSEL__CONFIG_TERM_CFG_CHG: case EVSEL__CONFIG_TERM_CFG_CHG:
break; break;
default: default:
break; break;
...@@ -906,10 +906,9 @@ static bool is_dummy_event(struct evsel *evsel) ...@@ -906,10 +906,9 @@ static bool is_dummy_event(struct evsel *evsel)
(evsel->core.attr.config == PERF_COUNT_SW_DUMMY); (evsel->core.attr.config == PERF_COUNT_SW_DUMMY);
} }
struct perf_evsel_config_term *__perf_evsel__get_config_term(struct evsel *evsel, struct evsel_config_term *__evsel__get_config_term(struct evsel *evsel, enum evsel_term_type type)
enum evsel_term_type type)
{ {
struct perf_evsel_config_term *term, *found_term = NULL; struct evsel_config_term *term, *found_term = NULL;
list_for_each_entry(term, &evsel->config_terms, list) { list_for_each_entry(term, &evsel->config_terms, list) {
if (term->type == type) if (term->type == type)
...@@ -1144,7 +1143,7 @@ void evsel__config(struct evsel *evsel, struct record_opts *opts, ...@@ -1144,7 +1143,7 @@ void evsel__config(struct evsel *evsel, struct record_opts *opts,
* Apply event specific term settings, * Apply event specific term settings,
* it overloads any global configuration. * it overloads any global configuration.
*/ */
apply_config_terms(evsel, opts, track); evsel__apply_config_terms(evsel, opts, track);
evsel->ignore_missing_thread = opts->ignore_missing_thread; evsel->ignore_missing_thread = opts->ignore_missing_thread;
...@@ -1240,9 +1239,9 @@ int evsel__disable(struct evsel *evsel) ...@@ -1240,9 +1239,9 @@ int evsel__disable(struct evsel *evsel)
return err; return err;
} }
static void perf_evsel__free_config_terms(struct evsel *evsel) static void evsel__free_config_terms(struct evsel *evsel)
{ {
struct perf_evsel_config_term *term, *h; struct evsel_config_term *term, *h;
list_for_each_entry_safe(term, h, &evsel->config_terms, list) { list_for_each_entry_safe(term, h, &evsel->config_terms, list) {
list_del_init(&term->list); list_del_init(&term->list);
...@@ -1259,7 +1258,7 @@ void evsel__exit(struct evsel *evsel) ...@@ -1259,7 +1258,7 @@ void evsel__exit(struct evsel *evsel)
perf_evsel__free_counts(evsel); perf_evsel__free_counts(evsel);
perf_evsel__free_fd(&evsel->core); perf_evsel__free_fd(&evsel->core);
perf_evsel__free_id(&evsel->core); perf_evsel__free_id(&evsel->core);
perf_evsel__free_config_terms(evsel); evsel__free_config_terms(evsel);
cgroup__put(evsel->cgrp); cgroup__put(evsel->cgrp);
perf_cpu_map__put(evsel->core.cpus); perf_cpu_map__put(evsel->core.cpus);
perf_cpu_map__put(evsel->core.own_cpus); perf_cpu_map__put(evsel->core.own_cpus);
......
...@@ -6,30 +6,30 @@ ...@@ -6,30 +6,30 @@
#include <stdbool.h> #include <stdbool.h>
/* /*
* The 'struct perf_evsel_config_term' is used to pass event * The 'struct evsel_config_term' is used to pass event
* specific configuration data to evsel__config routine. * specific configuration data to evsel__config routine.
* It is allocated within event parsing and attached to * It is allocated within event parsing and attached to
* perf_evsel::config_terms list head. * evsel::config_terms list head.
*/ */
enum evsel_term_type { enum evsel_term_type {
PERF_EVSEL__CONFIG_TERM_PERIOD, EVSEL__CONFIG_TERM_PERIOD,
PERF_EVSEL__CONFIG_TERM_FREQ, EVSEL__CONFIG_TERM_FREQ,
PERF_EVSEL__CONFIG_TERM_TIME, EVSEL__CONFIG_TERM_TIME,
PERF_EVSEL__CONFIG_TERM_CALLGRAPH, EVSEL__CONFIG_TERM_CALLGRAPH,
PERF_EVSEL__CONFIG_TERM_STACK_USER, EVSEL__CONFIG_TERM_STACK_USER,
PERF_EVSEL__CONFIG_TERM_INHERIT, EVSEL__CONFIG_TERM_INHERIT,
PERF_EVSEL__CONFIG_TERM_MAX_STACK, EVSEL__CONFIG_TERM_MAX_STACK,
PERF_EVSEL__CONFIG_TERM_MAX_EVENTS, EVSEL__CONFIG_TERM_MAX_EVENTS,
PERF_EVSEL__CONFIG_TERM_OVERWRITE, EVSEL__CONFIG_TERM_OVERWRITE,
PERF_EVSEL__CONFIG_TERM_DRV_CFG, EVSEL__CONFIG_TERM_DRV_CFG,
PERF_EVSEL__CONFIG_TERM_BRANCH, EVSEL__CONFIG_TERM_BRANCH,
PERF_EVSEL__CONFIG_TERM_PERCORE, EVSEL__CONFIG_TERM_PERCORE,
PERF_EVSEL__CONFIG_TERM_AUX_OUTPUT, EVSEL__CONFIG_TERM_AUX_OUTPUT,
PERF_EVSEL__CONFIG_TERM_AUX_SAMPLE_SIZE, EVSEL__CONFIG_TERM_AUX_SAMPLE_SIZE,
PERF_EVSEL__CONFIG_TERM_CFG_CHG, EVSEL__CONFIG_TERM_CFG_CHG,
}; };
struct perf_evsel_config_term { struct evsel_config_term {
struct list_head list; struct list_head list;
enum evsel_term_type type; enum evsel_term_type type;
bool free_str; bool free_str;
...@@ -53,10 +53,9 @@ struct perf_evsel_config_term { ...@@ -53,10 +53,9 @@ struct perf_evsel_config_term {
struct evsel; struct evsel;
struct perf_evsel_config_term *__perf_evsel__get_config_term(struct evsel *evsel, struct evsel_config_term *__evsel__get_config_term(struct evsel *evsel, enum evsel_term_type type);
enum evsel_term_type type);
#define perf_evsel__get_config_term(evsel, type) \ #define evsel__get_config_term(evsel, type) \
__perf_evsel__get_config_term(evsel, PERF_EVSEL__CONFIG_TERM_ ## type) __evsel__get_config_term(evsel, EVSEL__CONFIG_TERM_ ## type)
#endif // __PERF_EVSEL_CONFIG_H #endif // __PERF_EVSEL_CONFIG_H
...@@ -1214,14 +1214,14 @@ static int get_config_terms(struct list_head *head_config, ...@@ -1214,14 +1214,14 @@ static int get_config_terms(struct list_head *head_config,
struct list_head *head_terms __maybe_unused) struct list_head *head_terms __maybe_unused)
{ {
#define ADD_CONFIG_TERM(__type, __weak) \ #define ADD_CONFIG_TERM(__type, __weak) \
struct perf_evsel_config_term *__t; \ struct evsel_config_term *__t; \
\ \
__t = zalloc(sizeof(*__t)); \ __t = zalloc(sizeof(*__t)); \
if (!__t) \ if (!__t) \
return -ENOMEM; \ return -ENOMEM; \
\ \
INIT_LIST_HEAD(&__t->list); \ INIT_LIST_HEAD(&__t->list); \
__t->type = PERF_EVSEL__CONFIG_TERM_ ## __type; \ __t->type = EVSEL__CONFIG_TERM_ ## __type; \
__t->weak = __weak; \ __t->weak = __weak; \
list_add_tail(&__t->list, head_terms) list_add_tail(&__t->list, head_terms)
...@@ -1312,7 +1312,7 @@ do { \ ...@@ -1312,7 +1312,7 @@ do { \
} }
/* /*
* Add PERF_EVSEL__CONFIG_TERM_CFG_CHG where cfg_chg will have a bit set for * Add EVSEL__CONFIG_TERM_CFG_CHG where cfg_chg will have a bit set for
* each bit of attr->config that the user has changed. * each bit of attr->config that the user has changed.
*/ */
static int get_config_chgs(struct perf_pmu *pmu, struct list_head *head_config, static int get_config_chgs(struct perf_pmu *pmu, struct list_head *head_config,
...@@ -1400,10 +1400,10 @@ int parse_events_add_tool(struct parse_events_state *parse_state, ...@@ -1400,10 +1400,10 @@ int parse_events_add_tool(struct parse_events_state *parse_state,
static bool config_term_percore(struct list_head *config_terms) static bool config_term_percore(struct list_head *config_terms)
{ {
struct perf_evsel_config_term *term; struct evsel_config_term *term;
list_for_each_entry(term, config_terms, list) { list_for_each_entry(term, config_terms, list) {
if (term->type == PERF_EVSEL__CONFIG_TERM_PERCORE) if (term->type == EVSEL__CONFIG_TERM_PERCORE)
return term->val.percore; return term->val.percore;
} }
...@@ -1478,7 +1478,7 @@ int parse_events_add_pmu(struct parse_events_state *parse_state, ...@@ -1478,7 +1478,7 @@ int parse_events_add_pmu(struct parse_events_state *parse_state,
return -ENOMEM; return -ENOMEM;
if (perf_pmu__config(pmu, &attr, head_config, parse_state->error)) { if (perf_pmu__config(pmu, &attr, head_config, parse_state->error)) {
struct perf_evsel_config_term *pos, *tmp; struct evsel_config_term *pos, *tmp;
list_for_each_entry_safe(pos, tmp, &config_terms, list) { list_for_each_entry_safe(pos, tmp, &config_terms, list) {
list_del_init(&pos->list); list_del_init(&pos->list);
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "parse-events.h" #include "parse-events.h"
#include "pmu-events/pmu-events.h" #include "pmu-events/pmu-events.h"
struct perf_evsel_config_term; struct evsel_config_term;
enum { enum {
PERF_PMU_FORMAT_VALUE_CONFIG, PERF_PMU_FORMAT_VALUE_CONFIG,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment