diff options
Diffstat (limited to 'tools/perf/tests/code-reading.c')
| -rw-r--r-- | tools/perf/tests/code-reading.c | 72 | 
1 files changed, 42 insertions, 30 deletions
diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c index aa6df122b175..f5764a3890b9 100644 --- a/tools/perf/tests/code-reading.c +++ b/tools/perf/tests/code-reading.c @@ -8,16 +8,24 @@  #include <stdio.h>  #include <string.h>  #include <sys/param.h> +#include <perf/cpumap.h> +#include <perf/evlist.h> +#include "debug.h" +#include "dso.h" +#include "env.h"  #include "parse-events.h" +#include "trace-event.h"  #include "evlist.h"  #include "evsel.h"  #include "thread_map.h" -#include "cpumap.h"  #include "machine.h"  #include "map.h"  #include "symbol.h"  #include "event.h" +#include "record.h" +#include "util/mmap.h" +#include "util/synthetic-events.h"  #include "thread.h"  #include "tests.h" @@ -362,7 +370,7 @@ static int read_object_code(u64 addr, size_t len, u8 cpumode,  }  static int process_sample_event(struct machine *machine, -				struct perf_evlist *evlist, +				struct evlist *evlist,  				union perf_event *event, struct state *state)  {  	struct perf_sample sample; @@ -385,7 +393,7 @@ static int process_sample_event(struct machine *machine,  	return ret;  } -static int process_event(struct machine *machine, struct perf_evlist *evlist, +static int process_event(struct machine *machine, struct evlist *evlist,  			 union perf_event *event, struct state *state)  {  	if (event->header.type == PERF_RECORD_SAMPLE) @@ -408,14 +416,14 @@ static int process_event(struct machine *machine, struct perf_evlist *evlist,  	return 0;  } -static int process_events(struct machine *machine, struct perf_evlist *evlist, +static int process_events(struct machine *machine, struct evlist *evlist,  			  struct state *state)  {  	union perf_event *event; -	struct perf_mmap *md; +	struct mmap *md;  	int i, ret; -	for (i = 0; i < evlist->nr_mmaps; i++) { +	for (i = 0; i < evlist->core.nr_mmaps; i++) {  		md = &evlist->mmap[i];  		if (perf_mmap__read_init(md) < 0)  			continue; @@ -491,6 +499,10 @@ static void fs_something(void)  	}  } +#ifdef __s390x__ +#include "header.h" // for get_cpuid() +#endif +  static const char *do_determine_event(bool excl_kernel)  {  	const char *event = excl_kernel ? "cycles:u" : "cycles"; @@ -552,10 +564,10 @@ static int do_test_code_reading(bool try_kcore)  	struct state state = {  		.done_cnt = 0,  	}; -	struct thread_map *threads = NULL; -	struct cpu_map *cpus = NULL; -	struct perf_evlist *evlist = NULL; -	struct perf_evsel *evsel = NULL; +	struct perf_thread_map *threads = NULL; +	struct perf_cpu_map *cpus = NULL; +	struct evlist *evlist = NULL; +	struct evsel *evsel = NULL;  	int err = -1, ret;  	pid_t pid;  	struct map *map; @@ -613,22 +625,22 @@ static int do_test_code_reading(bool try_kcore)  		goto out_put;  	} -	cpus = cpu_map__new(NULL); +	cpus = perf_cpu_map__new(NULL);  	if (!cpus) { -		pr_debug("cpu_map__new failed\n"); +		pr_debug("perf_cpu_map__new failed\n");  		goto out_put;  	}  	while (1) {  		const char *str; -		evlist = perf_evlist__new(); +		evlist = evlist__new();  		if (!evlist) {  			pr_debug("perf_evlist__new failed\n");  			goto out_put;  		} -		perf_evlist__set_maps(evlist, cpus, threads); +		perf_evlist__set_maps(&evlist->core, cpus, threads);  		str = do_determine_event(excl_kernel);  		pr_debug("Parsing event '%s'\n", str); @@ -640,13 +652,13 @@ static int do_test_code_reading(bool try_kcore)  		perf_evlist__config(evlist, &opts, NULL); -		evsel = perf_evlist__first(evlist); +		evsel = evlist__first(evlist); -		evsel->attr.comm = 1; -		evsel->attr.disabled = 1; -		evsel->attr.enable_on_exec = 0; +		evsel->core.attr.comm = 1; +		evsel->core.attr.disabled = 1; +		evsel->core.attr.enable_on_exec = 0; -		ret = perf_evlist__open(evlist); +		ret = evlist__open(evlist);  		if (ret < 0) {  			if (!excl_kernel) {  				excl_kernel = true; @@ -655,10 +667,10 @@ static int do_test_code_reading(bool try_kcore)  				 * and will be freed by following perf_evlist__set_maps  				 * call. Getting refference to keep them alive.  				 */ -				cpu_map__get(cpus); -				thread_map__get(threads); -				perf_evlist__set_maps(evlist, NULL, NULL); -				perf_evlist__delete(evlist); +				perf_cpu_map__get(cpus); +				perf_thread_map__get(threads); +				perf_evlist__set_maps(&evlist->core, NULL, NULL); +				evlist__delete(evlist);  				evlist = NULL;  				continue;  			} @@ -674,17 +686,17 @@ static int do_test_code_reading(bool try_kcore)  		break;  	} -	ret = perf_evlist__mmap(evlist, UINT_MAX); +	ret = evlist__mmap(evlist, UINT_MAX);  	if (ret < 0) { -		pr_debug("perf_evlist__mmap failed\n"); +		pr_debug("evlist__mmap failed\n");  		goto out_put;  	} -	perf_evlist__enable(evlist); +	evlist__enable(evlist);  	do_something(); -	perf_evlist__disable(evlist); +	evlist__disable(evlist);  	ret = process_events(machine, evlist, &state);  	if (ret < 0) @@ -703,10 +715,10 @@ out_put:  out_err:  	if (evlist) { -		perf_evlist__delete(evlist); +		evlist__delete(evlist);  	} else { -		cpu_map__put(cpus); -		thread_map__put(threads); +		perf_cpu_map__put(cpus); +		perf_thread_map__put(threads);  	}  	machine__delete_threads(machine);  	machine__delete(machine);  | 
