Commit 95be9d19 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent bd704620
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include "../../util/event.h"
#include "../../util/evlist.h"
#include "../../util/evsel.h"
#include "../../util/evsel_config.h"
#include "../../util/pmu.h"
#include "../../util/cs-etm.h"
#include <internal/lib.h> // page_size
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include "util/dso.h"
#include "util/evlist.h"
#include "util/evsel.h"
#include "util/evsel_config.h"
#include "util/event.h"
#include "util/machine.h"
#include "util/map.h"
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
#include "counts.h"
#include "event.h"
#include "evsel.h"
#include "util/evsel_config.h"
#include "util/evsel_fprintf.h"
#include "evlist.h"
#include <perf/cpumap.h>
+0 −43
Original line number Diff line number Diff line
@@ -12,49 +12,6 @@
#include "symbol_conf.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 cgroup;
struct perf_counts;
+50 −0
Original line number Diff line number Diff line
// 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
Loading