 5dbb6e81d8
			
		
	
	
	5dbb6e81d8
	
	
	
		
			
			When the callgraph function is enabled (-G), it may take a long time to scan all the stack data and merge them accordingly. This patch adds a new --max-stack option to perf-top to limit the depth of callchain stack data to look at to reduce the time it takes for perf-top to finish its processing. It reduces the amount of information provided to the user in exchange for faster speed. Signed-off-by: Waiman Long <Waiman.Long@hp.com> Acked-by: David Ahern <dsahern@gmail.com> Tested-by: Davidlohr Bueso <davidlohr@hp.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Aswin Chandramouleeswaran <aswin@hp.com> Cc: David Ahern <dsahern@gmail.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Scott J Norton <scott.norton@hp.com> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1382107129-2010-5-git-send-email-Waiman.Long@hp.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef __PERF_TOP_H
 | ||
| #define __PERF_TOP_H 1
 | ||
| 
 | ||
| #include "tool.h"
 | ||
| #include "types.h"
 | ||
| #include <stddef.h>
 | ||
| #include <stdbool.h>
 | ||
| #include <termios.h>
 | ||
| 
 | ||
| struct perf_evlist;
 | ||
| struct perf_evsel;
 | ||
| struct perf_session;
 | ||
| 
 | ||
| struct perf_top {
 | ||
| 	struct perf_tool   tool;
 | ||
| 	struct perf_evlist *evlist;
 | ||
| 	struct perf_record_opts record_opts;
 | ||
| 	/*
 | ||
| 	 * Symbols will be added here in perf_event__process_sample and will
 | ||
| 	 * get out after decayed.
 | ||
| 	 */
 | ||
| 	u64		   samples;
 | ||
| 	u64		   kernel_samples, us_samples;
 | ||
| 	u64		   exact_samples;
 | ||
| 	u64		   guest_us_samples, guest_kernel_samples;
 | ||
| 	int		   print_entries, count_filter, delay_secs;
 | ||
| 	int		   max_stack;
 | ||
| 	bool		   hide_kernel_symbols, hide_user_symbols, zero;
 | ||
| 	bool		   use_tui, use_stdio;
 | ||
| 	bool		   kptr_restrict_warned;
 | ||
| 	bool		   vmlinux_warned;
 | ||
| 	bool		   dump_symtab;
 | ||
| 	struct hist_entry  *sym_filter_entry;
 | ||
| 	struct perf_evsel  *sym_evsel;
 | ||
| 	struct perf_session *session;
 | ||
| 	struct winsize	   winsize;
 | ||
| 	int		   realtime_prio;
 | ||
| 	int		   sym_pcnt_filter;
 | ||
| 	const char	   *sym_filter;
 | ||
| 	float		   min_percent;
 | ||
| };
 | ||
| 
 | ||
| #define CONSOLE_CLEAR "[H[2J"
 | ||
| 
 | ||
| size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size);
 | ||
| void perf_top__reset_sample_counters(struct perf_top *top);
 | ||
| #endif /* __PERF_TOP_H */
 |