Commit 648b5af3 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

libperf: Move 'system_wide' from 'struct evsel' to 'struct perf_evsel'



Move the 'system_wide 'member from perf's evsel to libperf's perf_evsel.

Committer notes:

Added stdbool.h as we now use bool here.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lore.kernel.org/lkml/20190913132355.21634-20-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 65aa2e6b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -422,7 +422,7 @@ static int intel_pt_track_switches(struct evlist *evlist)
	perf_evsel__set_sample_bit(evsel, CPU);
	perf_evsel__set_sample_bit(evsel, TIME);

	evsel->system_wide = true;
	evsel->core.system_wide = true;
	evsel->no_aux_samples = true;
	evsel->immediate = true;

@@ -723,7 +723,7 @@ static int intel_pt_recording_options(struct auxtrace_record *itr,
				switch_evsel->core.attr.sample_period = 1;
				switch_evsel->core.attr.context_switch = 1;

				switch_evsel->system_wide = true;
				switch_evsel->core.system_wide = true;
				switch_evsel->no_aux_samples = true;
				switch_evsel->immediate = true;

+1 −1
Original line number Diff line number Diff line
@@ -1916,7 +1916,7 @@ static void __process_stat(struct evsel *counter, u64 tstamp)
	int cpu, thread;
	static int header_printed;

	if (counter->system_wide)
	if (counter->core.system_wide)
		nthreads = 1;

	if (!header_printed) {
+2 −2
Original line number Diff line number Diff line
@@ -278,7 +278,7 @@ static int read_counter(struct evsel *counter, struct timespec *rs)
	if (!counter->supported)
		return -ENOENT;

	if (counter->system_wide)
	if (counter->core.system_wide)
		nthreads = 1;

	for (thread = 0; thread < nthreads; thread++) {
@@ -1671,7 +1671,7 @@ static void setup_system_wide(int forks)
		struct evsel *counter;

		evlist__for_each_entry(evsel_list, counter) {
			if (!counter->system_wide)
			if (!counter->core.system_wide)
				return;
		}

+2 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@

#include <linux/types.h>
#include <linux/perf_event.h>
#include <stdbool.h>

struct perf_cpu_map;
struct perf_thread_map;
@@ -18,6 +19,7 @@ struct perf_evsel {

	/* parse modifier helper */
	int			 nr_members;
	bool			 system_wide;
};

int perf_evsel__alloc_fd(struct perf_evsel *evsel, int ncpus, int nthreads);
+3 −3
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ static int process_sample_event(struct evlist *evlist,
			return err;
		/*
		 * Check for no missing sched_switch events i.e. that the
		 * evsel->system_wide flag has worked.
		 * evsel->core.system_wide flag has worked.
		 */
		if (switch_tracking->tids[cpu] != -1 &&
		    switch_tracking->tids[cpu] != prev_tid) {
@@ -316,7 +316,7 @@ out_free_nodes:
 *
 * This function implements a test that checks that sched_switch events and
 * tracking events can be recorded for a workload (current process) using the
 * evsel->system_wide and evsel->tracking flags (respectively) with other events
 * evsel->core.system_wide and evsel->tracking flags (respectively) with other events
 * sometimes enabled or disabled.
 */
int test__switch_tracking(struct test *test __maybe_unused, int subtest __maybe_unused)
@@ -396,7 +396,7 @@ int test__switch_tracking(struct test *test __maybe_unused, int subtest __maybe_
	perf_evsel__set_sample_bit(switch_evsel, CPU);
	perf_evsel__set_sample_bit(switch_evsel, TIME);

	switch_evsel->system_wide = true;
	switch_evsel->core.system_wide = true;
	switch_evsel->no_aux_samples = true;
	switch_evsel->immediate = true;

Loading