perf evsel: Move config terms to a separate header
Further reducing the size of util/evsel.h. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lkml.kernel.org/n/tip-20zr7di9eynm0272mtjfdhfc@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
bd70462062
commit
95be9d197d
|
@ -23,6 +23,7 @@
|
||||||
#include "../../util/event.h"
|
#include "../../util/event.h"
|
||||||
#include "../../util/evlist.h"
|
#include "../../util/evlist.h"
|
||||||
#include "../../util/evsel.h"
|
#include "../../util/evsel.h"
|
||||||
|
#include "../../util/evsel_config.h"
|
||||||
#include "../../util/pmu.h"
|
#include "../../util/pmu.h"
|
||||||
#include "../../util/cs-etm.h"
|
#include "../../util/cs-etm.h"
|
||||||
#include <internal/lib.h> // page_size
|
#include <internal/lib.h> // page_size
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include "util/dso.h"
|
#include "util/dso.h"
|
||||||
#include "util/evlist.h"
|
#include "util/evlist.h"
|
||||||
#include "util/evsel.h"
|
#include "util/evsel.h"
|
||||||
|
#include "util/evsel_config.h"
|
||||||
#include "util/event.h"
|
#include "util/event.h"
|
||||||
#include "util/machine.h"
|
#include "util/machine.h"
|
||||||
#include "util/map.h"
|
#include "util/map.h"
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include "counts.h"
|
#include "counts.h"
|
||||||
#include "event.h"
|
#include "event.h"
|
||||||
#include "evsel.h"
|
#include "evsel.h"
|
||||||
|
#include "util/evsel_config.h"
|
||||||
#include "util/evsel_fprintf.h"
|
#include "util/evsel_fprintf.h"
|
||||||
#include "evlist.h"
|
#include "evlist.h"
|
||||||
#include <perf/cpumap.h>
|
#include <perf/cpumap.h>
|
||||||
|
|
|
@ -12,49 +12,6 @@
|
||||||
#include "symbol_conf.h"
|
#include "symbol_conf.h"
|
||||||
#include <internal/cpumap.h>
|
#include <internal/cpumap.h>
|
||||||
|
|
||||||
/*
|
|
||||||
* The 'struct perf_evsel_config_term' is used to pass event
|
|
||||||
* specific configuration data to perf_evsel__config routine.
|
|
||||||
* It is allocated within event parsing and attached to
|
|
||||||
* perf_evsel::config_terms list head.
|
|
||||||
*/
|
|
||||||
enum term_type {
|
|
||||||
PERF_EVSEL__CONFIG_TERM_PERIOD,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_FREQ,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_TIME,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_CALLGRAPH,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_STACK_USER,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_INHERIT,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_MAX_STACK,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_MAX_EVENTS,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_OVERWRITE,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_DRV_CFG,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_BRANCH,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_PERCORE,
|
|
||||||
PERF_EVSEL__CONFIG_TERM_AUX_OUTPUT,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct perf_evsel_config_term {
|
|
||||||
struct list_head list;
|
|
||||||
enum term_type type;
|
|
||||||
union {
|
|
||||||
u64 period;
|
|
||||||
u64 freq;
|
|
||||||
bool time;
|
|
||||||
char *callgraph;
|
|
||||||
char *drv_cfg;
|
|
||||||
u64 stack_user;
|
|
||||||
int max_stack;
|
|
||||||
bool inherit;
|
|
||||||
bool overwrite;
|
|
||||||
char *branch;
|
|
||||||
unsigned long max_events;
|
|
||||||
bool percore;
|
|
||||||
bool aux_output;
|
|
||||||
} val;
|
|
||||||
bool weak;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct bpf_object;
|
struct bpf_object;
|
||||||
struct cgroup;
|
struct cgroup;
|
||||||
struct perf_counts;
|
struct perf_counts;
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
#ifndef __PERF_EVSEL_CONFIG_H
|
||||||
|
#define __PERF_EVSEL_CONFIG_H 1
|
||||||
|
|
||||||
|
#include <linux/types.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The 'struct perf_evsel_config_term' is used to pass event
|
||||||
|
* specific configuration data to perf_evsel__config routine.
|
||||||
|
* It is allocated within event parsing and attached to
|
||||||
|
* perf_evsel::config_terms list head.
|
||||||
|
*/
|
||||||
|
enum evsel_term_type {
|
||||||
|
PERF_EVSEL__CONFIG_TERM_PERIOD,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_FREQ,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_TIME,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_CALLGRAPH,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_STACK_USER,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_INHERIT,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_MAX_STACK,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_MAX_EVENTS,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_OVERWRITE,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_DRV_CFG,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_BRANCH,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_PERCORE,
|
||||||
|
PERF_EVSEL__CONFIG_TERM_AUX_OUTPUT,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct perf_evsel_config_term {
|
||||||
|
struct list_head list;
|
||||||
|
enum evsel_term_type type;
|
||||||
|
union {
|
||||||
|
u64 period;
|
||||||
|
u64 freq;
|
||||||
|
bool time;
|
||||||
|
char *callgraph;
|
||||||
|
char *drv_cfg;
|
||||||
|
u64 stack_user;
|
||||||
|
int max_stack;
|
||||||
|
bool inherit;
|
||||||
|
bool overwrite;
|
||||||
|
char *branch;
|
||||||
|
unsigned long max_events;
|
||||||
|
bool percore;
|
||||||
|
bool aux_output;
|
||||||
|
} val;
|
||||||
|
bool weak;
|
||||||
|
};
|
||||||
|
#endif // __PERF_EVSEL_CONFIG_H
|
|
@ -34,6 +34,7 @@
|
||||||
#include "asm/bug.h"
|
#include "asm/bug.h"
|
||||||
#include "util/parse-branch-options.h"
|
#include "util/parse-branch-options.h"
|
||||||
#include "metricgroup.h"
|
#include "metricgroup.h"
|
||||||
|
#include "util/evsel_config.h"
|
||||||
#include "util/mmap.h"
|
#include "util/mmap.h"
|
||||||
|
|
||||||
#define MAX_NAME_LEN 100
|
#define MAX_NAME_LEN 100
|
||||||
|
|
Loading…
Reference in New Issue