diff options
Diffstat (limited to 'tools/perf/builtin-sched.c')
| -rw-r--r-- | tools/perf/builtin-sched.c | 101 | 
1 files changed, 51 insertions, 50 deletions
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index 56d1907b1215..ec96d64aec69 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c @@ -1,9 +1,9 @@  // SPDX-License-Identifier: GPL-2.0  #include "builtin.h"  #include "perf.h" +#include "perf-sys.h"  #include "util/evlist.h" -#include "util/cache.h"  #include "util/evsel.h"  #include "util/symbol.h"  #include "util/thread.h" @@ -18,6 +18,7 @@  #include "util/callchain.h"  #include "util/time-utils.h" +#include <subcmd/pager.h>  #include <subcmd/parse-options.h>  #include "util/trace-event.h" @@ -133,13 +134,13 @@ typedef int (*sort_fn_t)(struct work_atoms *, struct work_atoms *);  struct perf_sched;  struct trace_sched_handler { -	int (*switch_event)(struct perf_sched *sched, struct perf_evsel *evsel, +	int (*switch_event)(struct perf_sched *sched, struct evsel *evsel,  			    struct perf_sample *sample, struct machine *machine); -	int (*runtime_event)(struct perf_sched *sched, struct perf_evsel *evsel, +	int (*runtime_event)(struct perf_sched *sched, struct evsel *evsel,  			     struct perf_sample *sample, struct machine *machine); -	int (*wakeup_event)(struct perf_sched *sched, struct perf_evsel *evsel, +	int (*wakeup_event)(struct perf_sched *sched, struct evsel *evsel,  			    struct perf_sample *sample, struct machine *machine);  	/* PERF_RECORD_FORK event, not sched_process_fork tracepoint */ @@ -147,7 +148,7 @@ struct trace_sched_handler {  			  struct machine *machine);  	int (*migrate_task_event)(struct perf_sched *sched, -				  struct perf_evsel *evsel, +				  struct evsel *evsel,  				  struct perf_sample *sample,  				  struct machine *machine);  }; @@ -159,11 +160,11 @@ struct perf_sched_map {  	DECLARE_BITMAP(comp_cpus_mask, MAX_CPUS);  	int			*comp_cpus;  	bool			 comp; -	struct thread_map	*color_pids; +	struct perf_thread_map *color_pids;  	const char		*color_pids_str; -	struct cpu_map		*color_cpus; +	struct perf_cpu_map	*color_cpus;  	const char		*color_cpus_str; -	struct cpu_map		*cpus; +	struct perf_cpu_map	*cpus;  	const char		*cpus_str;  }; @@ -799,7 +800,7 @@ static void test_calibrations(struct perf_sched *sched)  static int  replay_wakeup_event(struct perf_sched *sched, -		    struct perf_evsel *evsel, struct perf_sample *sample, +		    struct evsel *evsel, struct perf_sample *sample,  		    struct machine *machine __maybe_unused)  {  	const char *comm = perf_evsel__strval(evsel, sample, "comm"); @@ -820,7 +821,7 @@ replay_wakeup_event(struct perf_sched *sched,  }  static int replay_switch_event(struct perf_sched *sched, -			       struct perf_evsel *evsel, +			       struct evsel *evsel,  			       struct perf_sample *sample,  			       struct machine *machine __maybe_unused)  { @@ -1093,7 +1094,7 @@ add_sched_in_event(struct work_atoms *atoms, u64 timestamp)  }  static int latency_switch_event(struct perf_sched *sched, -				struct perf_evsel *evsel, +				struct evsel *evsel,  				struct perf_sample *sample,  				struct machine *machine)  { @@ -1163,7 +1164,7 @@ out_put:  }  static int latency_runtime_event(struct perf_sched *sched, -				 struct perf_evsel *evsel, +				 struct evsel *evsel,  				 struct perf_sample *sample,  				 struct machine *machine)  { @@ -1198,7 +1199,7 @@ out_put:  }  static int latency_wakeup_event(struct perf_sched *sched, -				struct perf_evsel *evsel, +				struct evsel *evsel,  				struct perf_sample *sample,  				struct machine *machine)  { @@ -1259,7 +1260,7 @@ out_put:  }  static int latency_migrate_task_event(struct perf_sched *sched, -				      struct perf_evsel *evsel, +				      struct evsel *evsel,  				      struct perf_sample *sample,  				      struct machine *machine)  { @@ -1470,7 +1471,7 @@ again:  }  static int process_sched_wakeup_event(struct perf_tool *tool, -				      struct perf_evsel *evsel, +				      struct evsel *evsel,  				      struct perf_sample *sample,  				      struct machine *machine)  { @@ -1514,7 +1515,7 @@ map__findnew_thread(struct perf_sched *sched, struct machine *machine, pid_t pid  	return thread;  } -static int map_switch_event(struct perf_sched *sched, struct perf_evsel *evsel, +static int map_switch_event(struct perf_sched *sched, struct evsel *evsel,  			    struct perf_sample *sample, struct machine *machine)  {  	const u32 next_pid = perf_evsel__intval(evsel, sample, "next_pid"); @@ -1655,7 +1656,7 @@ out:  }  static int process_sched_switch_event(struct perf_tool *tool, -				      struct perf_evsel *evsel, +				      struct evsel *evsel,  				      struct perf_sample *sample,  				      struct machine *machine)  { @@ -1681,7 +1682,7 @@ static int process_sched_switch_event(struct perf_tool *tool,  }  static int process_sched_runtime_event(struct perf_tool *tool, -				       struct perf_evsel *evsel, +				       struct evsel *evsel,  				       struct perf_sample *sample,  				       struct machine *machine)  { @@ -1711,7 +1712,7 @@ static int perf_sched__process_fork_event(struct perf_tool *tool,  }  static int process_sched_migrate_task_event(struct perf_tool *tool, -					    struct perf_evsel *evsel, +					    struct evsel *evsel,  					    struct perf_sample *sample,  					    struct machine *machine)  { @@ -1724,14 +1725,14 @@ static int process_sched_migrate_task_event(struct perf_tool *tool,  }  typedef int (*tracepoint_handler)(struct perf_tool *tool, -				  struct perf_evsel *evsel, +				  struct evsel *evsel,  				  struct perf_sample *sample,  				  struct machine *machine);  static int perf_sched__process_tracepoint_sample(struct perf_tool *tool __maybe_unused,  						 union perf_event *event __maybe_unused,  						 struct perf_sample *sample, -						 struct perf_evsel *evsel, +						 struct evsel *evsel,  						 struct machine *machine)  {  	int err = 0; @@ -1777,7 +1778,7 @@ static int perf_sched__process_comm(struct perf_tool *tool __maybe_unused,  static int perf_sched__read_events(struct perf_sched *sched)  { -	const struct perf_evsel_str_handler handlers[] = { +	const struct evsel_str_handler handlers[] = {  		{ "sched:sched_switch",	      process_sched_switch_event, },  		{ "sched:sched_stat_runtime", process_sched_runtime_event, },  		{ "sched:sched_wakeup",	      process_sched_wakeup_event, }, @@ -1839,7 +1840,7 @@ static inline void print_sched_time(unsigned long long nsecs, int width)   * returns runtime data for event, allocating memory for it the   * first time it is used.   */ -static struct evsel_runtime *perf_evsel__get_runtime(struct perf_evsel *evsel) +static struct evsel_runtime *perf_evsel__get_runtime(struct evsel *evsel)  {  	struct evsel_runtime *r = evsel->priv; @@ -1854,7 +1855,7 @@ static struct evsel_runtime *perf_evsel__get_runtime(struct perf_evsel *evsel)  /*   * save last time event was seen per cpu   */ -static void perf_evsel__save_time(struct perf_evsel *evsel, +static void perf_evsel__save_time(struct evsel *evsel,  				  u64 timestamp, u32 cpu)  {  	struct evsel_runtime *r = perf_evsel__get_runtime(evsel); @@ -1881,7 +1882,7 @@ static void perf_evsel__save_time(struct perf_evsel *evsel,  }  /* returns last time this event was seen on the given cpu */ -static u64 perf_evsel__get_time(struct perf_evsel *evsel, u32 cpu) +static u64 perf_evsel__get_time(struct evsel *evsel, u32 cpu)  {  	struct evsel_runtime *r = perf_evsel__get_runtime(evsel); @@ -1988,7 +1989,7 @@ static char task_state_char(struct thread *thread, int state)  }  static void timehist_print_sample(struct perf_sched *sched, -				  struct perf_evsel *evsel, +				  struct evsel *evsel,  				  struct perf_sample *sample,  				  struct addr_location *al,  				  struct thread *thread, @@ -2121,7 +2122,7 @@ static void timehist_update_runtime_stats(struct thread_runtime *r,  }  static bool is_idle_sample(struct perf_sample *sample, -			   struct perf_evsel *evsel) +			   struct evsel *evsel)  {  	/* pid 0 == swapper == idle task */  	if (strcmp(perf_evsel__name(evsel), "sched:sched_switch") == 0) @@ -2132,7 +2133,7 @@ static bool is_idle_sample(struct perf_sample *sample,  static void save_task_callchain(struct perf_sched *sched,  				struct perf_sample *sample, -				struct perf_evsel *evsel, +				struct evsel *evsel,  				struct machine *machine)  {  	struct callchain_cursor *cursor = &callchain_cursor; @@ -2286,7 +2287,7 @@ static void save_idle_callchain(struct perf_sched *sched,  static struct thread *timehist_get_thread(struct perf_sched *sched,  					  struct perf_sample *sample,  					  struct machine *machine, -					  struct perf_evsel *evsel) +					  struct evsel *evsel)  {  	struct thread *thread; @@ -2332,7 +2333,7 @@ static struct thread *timehist_get_thread(struct perf_sched *sched,  static bool timehist_skip_sample(struct perf_sched *sched,  				 struct thread *thread, -				 struct perf_evsel *evsel, +				 struct evsel *evsel,  				 struct perf_sample *sample)  {  	bool rc = false; @@ -2354,7 +2355,7 @@ static bool timehist_skip_sample(struct perf_sched *sched,  }  static void timehist_print_wakeup_event(struct perf_sched *sched, -					struct perf_evsel *evsel, +					struct evsel *evsel,  					struct perf_sample *sample,  					struct machine *machine,  					struct thread *awakened) @@ -2389,7 +2390,7 @@ static void timehist_print_wakeup_event(struct perf_sched *sched,  static int timehist_sched_wakeup_event(struct perf_tool *tool,  				       union perf_event *event __maybe_unused, -				       struct perf_evsel *evsel, +				       struct evsel *evsel,  				       struct perf_sample *sample,  				       struct machine *machine)  { @@ -2419,7 +2420,7 @@ static int timehist_sched_wakeup_event(struct perf_tool *tool,  }  static void timehist_print_migration_event(struct perf_sched *sched, -					struct perf_evsel *evsel, +					struct evsel *evsel,  					struct perf_sample *sample,  					struct machine *machine,  					struct thread *migrated) @@ -2473,7 +2474,7 @@ static void timehist_print_migration_event(struct perf_sched *sched,  static int timehist_migrate_task_event(struct perf_tool *tool,  				       union perf_event *event __maybe_unused, -				       struct perf_evsel *evsel, +				       struct evsel *evsel,  				       struct perf_sample *sample,  				       struct machine *machine)  { @@ -2501,7 +2502,7 @@ static int timehist_migrate_task_event(struct perf_tool *tool,  static int timehist_sched_change_event(struct perf_tool *tool,  				       union perf_event *event, -				       struct perf_evsel *evsel, +				       struct evsel *evsel,  				       struct perf_sample *sample,  				       struct machine *machine)  { @@ -2627,7 +2628,7 @@ out:  static int timehist_sched_switch_event(struct perf_tool *tool,  			     union perf_event *event, -			     struct perf_evsel *evsel, +			     struct evsel *evsel,  			     struct perf_sample *sample,  			     struct machine *machine __maybe_unused)  { @@ -2643,7 +2644,7 @@ static int process_lost(struct perf_tool *tool __maybe_unused,  	timestamp__scnprintf_usec(sample->time, tstr, sizeof(tstr));  	printf("%15s ", tstr); -	printf("lost %" PRIu64 " events on cpu %d\n", event->lost.lost, sample->cpu); +	printf("lost %" PRI_lu64 " events on cpu %d\n", event->lost.lost, sample->cpu);  	return 0;  } @@ -2897,14 +2898,14 @@ static void timehist_print_summary(struct perf_sched *sched,  typedef int (*sched_handler)(struct perf_tool *tool,  			  union perf_event *event, -			  struct perf_evsel *evsel, +			  struct evsel *evsel,  			  struct perf_sample *sample,  			  struct machine *machine);  static int perf_timehist__process_sample(struct perf_tool *tool,  					 union perf_event *event,  					 struct perf_sample *sample, -					 struct perf_evsel *evsel, +					 struct evsel *evsel,  					 struct machine *machine)  {  	struct perf_sched *sched = container_of(tool, struct perf_sched, tool); @@ -2924,12 +2925,12 @@ static int perf_timehist__process_sample(struct perf_tool *tool,  }  static int timehist_check_attr(struct perf_sched *sched, -			       struct perf_evlist *evlist) +			       struct evlist *evlist)  { -	struct perf_evsel *evsel; +	struct evsel *evsel;  	struct evsel_runtime *er; -	list_for_each_entry(evsel, &evlist->entries, node) { +	list_for_each_entry(evsel, &evlist->core.entries, core.node) {  		er = perf_evsel__get_runtime(evsel);  		if (er == NULL) {  			pr_err("Failed to allocate memory for evsel runtime data\n"); @@ -2948,12 +2949,12 @@ static int timehist_check_attr(struct perf_sched *sched,  static int perf_sched__timehist(struct perf_sched *sched)  { -	const struct perf_evsel_str_handler handlers[] = { +	const struct evsel_str_handler handlers[] = {  		{ "sched:sched_switch",       timehist_sched_switch_event, },  		{ "sched:sched_wakeup",	      timehist_sched_wakeup_event, },  		{ "sched:sched_wakeup_new",   timehist_sched_wakeup_event, },  	}; -	const struct perf_evsel_str_handler migrate_handlers[] = { +	const struct evsel_str_handler migrate_handlers[] = {  		{ "sched:sched_migrate_task", timehist_migrate_task_event, },  	};  	struct perf_data data = { @@ -2963,7 +2964,7 @@ static int perf_sched__timehist(struct perf_sched *sched)  	};  	struct perf_session *session; -	struct perf_evlist *evlist; +	struct evlist *evlist;  	int err = -1;  	/* @@ -3170,7 +3171,7 @@ static int perf_sched__lat(struct perf_sched *sched)  static int setup_map_cpus(struct perf_sched *sched)  { -	struct cpu_map *map; +	struct perf_cpu_map *map;  	sched->max_cpu  = sysconf(_SC_NPROCESSORS_CONF); @@ -3183,7 +3184,7 @@ static int setup_map_cpus(struct perf_sched *sched)  	if (!sched->map.cpus_str)  		return 0; -	map = cpu_map__new(sched->map.cpus_str); +	map = perf_cpu_map__new(sched->map.cpus_str);  	if (!map) {  		pr_err("failed to get cpus map from %s\n", sched->map.cpus_str);  		return -1; @@ -3195,7 +3196,7 @@ static int setup_map_cpus(struct perf_sched *sched)  static int setup_color_pids(struct perf_sched *sched)  { -	struct thread_map *map; +	struct perf_thread_map *map;  	if (!sched->map.color_pids_str)  		return 0; @@ -3212,12 +3213,12 @@ static int setup_color_pids(struct perf_sched *sched)  static int setup_color_cpus(struct perf_sched *sched)  { -	struct cpu_map *map; +	struct perf_cpu_map *map;  	if (!sched->map.color_cpus_str)  		return 0; -	map = cpu_map__new(sched->map.color_cpus_str); +	map = perf_cpu_map__new(sched->map.color_cpus_str);  	if (!map) {  		pr_err("failed to get thread map from %s\n", sched->map.color_cpus_str);  		return -1;  |