Yanteng Si 
							
						 
					 
					
						
						
							
						
						c56f286f24 
					 
					
						
						
							
							perf tools: Allow to use cpuinfo on LoongArch  
						
						... 
						
						
						
						Define these macros so that the CPU name can be displayed when running
'perf report' and 'perf timechart'.
Committer notes:
No need to have:
	if (strcasestr(buf, "Model Name")) {
		strlcpy(cpu_m, &buf[13], 255);
		break;
	} else if (strcasestr(buf, "model name")) {
		strlcpy(cpu_m, &buf[13], 255);
		break;
	}
As the point of strcasestr() is to be case insensitive to both the
haystack and the needle, so simplify the above to just:
	if (strcasestr(buf, "model name")) {
		strlcpy(cpu_m, &buf[13], 255);
		break;
	}
Signed-off-by: Yanteng Si <siyanteng@loongson.cn >
Acked-by: Huacai Chen <chenhuacai@loongson.cn >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Ian Rogers <irogers@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: loongarch@lists.linux.dev 
Cc: loongson-kernel@lists.loongnix.cn 
Link: https://lore.kernel.org/r/db968a186a10e4629fe10c26a1210f7126ad41ec.1692962043.git.siyanteng@loongson.cn 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2023-08-29 14:13:48 -03:00 
						 
				 
			
				
					
						
							
							
								Sean Christopherson 
							
						 
					 
					
						
						
							
						
						75d7ba32f9 
					 
					
						
						
							
							perf tools: Use dedicated non-atomic clear/set bit helpers  
						
						... 
						
						
						
						Use the dedicated non-atomic helpers for {clear,set}_bit() and their
test variants, i.e. the double-underscore versions.  Depsite being
defined in atomic.h, and despite the kernel versions being atomic in the
kernel, tools' {clear,set}_bit() helpers aren't actually atomic.  Move
to the double-underscore versions so that the versions that are expected
to be atomic (for kernel developers) can be made atomic without affecting
users that don't want atomic operations.
No functional change intended.
Signed-off-by: Sean Christopherson <seanjc@google.com >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Message-Id: <20221119013450.2643007-6-seanjc@google.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com > 
						
						
					 
					
						2022-12-02 13:22:33 -05:00 
						 
				 
			
				
					
						
							
							
								Ian Rogers 
							
						 
					 
					
						
						
							
						
						4402869939 
					 
					
						
						
							
							perf cpumap: Migrate to libperf cpumap api  
						
						... 
						
						
						
						Switch from directly accessing the perf_cpu_map to using the appropriate
libperf API when possible. Using the API simplifies the job of
refactoring use of perf_cpu_map.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: André Almeida <andrealmeid@collabora.com >
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Cc: Darren Hart <dvhart@infradead.org >
Cc: Davidlohr Bueso <dave@stgolabs.net >
Cc: Dmitriy Vyukov <dvyukov@google.com >
Cc: Eric Dumazet <edumazet@google.com >
Cc: German Gomez <german.gomez@arm.com >
Cc: James Clark <james.clark@arm.com >
Cc: Jin Yao <yao.jin@linux.intel.com >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: John Garry <john.garry@huawei.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Leo Yan <leo.yan@linaro.org >
Cc: Madhavan Srinivasan <maddy@linux.ibm.com >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Masami Hiramatsu <mhiramat@kernel.org >
Cc: Miaoqian Lin <linmq006@gmail.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Riccardo Mancini <rickyman7@gmail.com >
Cc: Shunsuke Nakamura <nakamura.shun@fujitsu.com >
Cc: Song Liu <song@kernel.org >
Cc: Stephane Eranian <eranian@google.com >
Cc: Stephen Brennan <stephen.s.brennan@oracle.com >
Cc: Steven Rostedt (VMware) <rostedt@goodmis.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Thomas Richter <tmricht@linux.ibm.com >
Cc: Yury Norov <yury.norov@gmail.com >
Link: http://lore.kernel.org/lkml/20220122045811.3402706-3-irogers@google.com 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2022-01-22 17:08:42 -03:00 
						 
				 
			
				
					
						
							
							
								Ian Rogers 
							
						 
					 
					
						
						
							
						
						6d18804b96 
					 
					
						
						
							
							perf cpumap: Give CPUs their own type  
						
						... 
						
						
						
						A common problem is confusing CPU map indices with the CPU, by wrapping
the CPU with a struct then this is avoided. This approach is similar to
atomic_t.
Committer notes:
To make it build with BUILD_BPF_SKEL=1 these files needed the
conversions to 'struct perf_cpu' usage:
  tools/perf/util/bpf_counter.c
  tools/perf/util/bpf_counter_cgroup.c
  tools/perf/util/bpf_ftrace.c
Also perf_env__get_cpu() was removed back in "perf cpumap: Switch
cpu_map__build_map to cpu function".
Additionally these needed to be fixed for the ARM builds to complete:
  tools/perf/arch/arm/util/cs-etm.c
  tools/perf/arch/arm64/util/pmu.c
Suggested-by: John Garry <john.garry@huawei.com >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: James Clark <james.clark@arm.com >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Kan Liang <kan.liang@linux.intel.com >
Cc: Leo Yan <leo.yan@linaro.org >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Mathieu Poirier <mathieu.poirier@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Paul Clarke <pc@us.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Riccardo Mancini <rickyman7@gmail.com >
Cc: Stephane Eranian <eranian@google.com >
Cc: Suzuki Poulouse <suzuki.poulose@arm.com >
Cc: Vineet Singh <vineet.singh@intel.com >
Cc: coresight@lists.linaro.org 
Cc: linux-arm-kernel@lists.infradead.org 
Cc: zhengjun.xing@intel.com 
Link: https://lore.kernel.org/r/20220105061351.120843-49-irogers@google.com 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2022-01-12 14:28:23 -03:00 
						 
				 
			
				
					
						
							
							
								Arnaldo Carvalho de Melo 
							
						 
					 
					
						
						
							
						
						87ffb6c640 
					 
					
						
						
							
							perf env: Remove needless cpumap.h header  
						
						... 
						
						
						
						Only a 'struct perf_cmp_map' forward allocation is necessary, fix the
places that need the header but were getting it indirectly, by luck,
from env.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-3sj3n534zghxhk7ygzeaqlx9@git.kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-09-20 09:19:21 -03:00 
						 
				 
			
				
					
						
							
							
								Arnaldo Carvalho de Melo 
							
						 
					 
					
						
						
							
						
						0ac25fd0a0 
					 
					
						
						
							
							perf tools: Remove perf.h from source files not needing it  
						
						... 
						
						
						
						With the movement of lots of stuff out of perf.h to other headers we
ended up not needing it in lots of places, remove it from those places.
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-c718m0sxxwp73lp9d8vpihb4@git.kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-08-29 17:38:32 -03:00 
						 
				 
			
				
					
						
							
							
								Kyle Meyer 
							
						 
					 
					
						
						
							
						
						f78f96676a 
					 
					
						
						
							
							perf svghelper: Replace MAX_NR_CPUS with perf_env::nr_cpus_online  
						
						... 
						
						
						
						'nr_cpus', the number of CPUs online during a record session bound by
MAX_NR_CPUS, can be used as a dynamic alternative for MAX_NR_CPUS in
svg_build_topology_map().
The value of nr_cpus can be passed into str_to_bitmap(),
scan_core_topology(), and svg_build_topology_map() to replace
MAX_NR_CPUS as well.
Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <russ.anderson@hpe.com >
Link: http://lore.kernel.org/lkml/20190827214352.94272-3-meyerk@stormcage.eag.rdlabs.hpecorp.net 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-08-29 17:38:32 -03:00 
						 
				 
			
				
					
						
							
							
								Kyle Meyer 
							
						 
					 
					
						
						
							
						
						0ac1dd5b4a 
					 
					
						
						
							
							perf timechart: Refactor svg_build_topology_map()  
						
						... 
						
						
						
						Exchange the parameters of svg_build_topology_map() with 'struct
perf_env *env' and adjust the function accordingly.
This patch should not change any behavior, it is merely refactoring for
the following patch.
Committer notes:
No need to include env.h from svghelper.h, all it needs is a forward
declaration for 'struct perf_env', so move the include directive to
svghelper.c, where it is really needed.
Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <russ.anderson@hpe.com >
Link: http://lore.kernel.org/lkml/20190827214352.94272-2-meyerk@stormcage.eag.rdlabs.hpecorp.net 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-08-29 17:38:31 -03:00 
						 
				 
			
				
					
						
							
							
								Arnaldo Carvalho de Melo 
							
						 
					 
					
						
						
							
						
						5e51b0bb24 
					 
					
						
						
							
							perf cpumap: Remove needless includes from cpumap.h  
						
						... 
						
						
						
						The util/cpumap.h file doesn't use anything in refcount.h not in
debug.h, it needs just a forward reference to 'struct cpu_map_data',
that is defined in util/event.h and cpumap.h was getting indirectly via,
of all things, debug.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-mtjww98yptt4ppo6g2blavg5@git.kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-08-22 17:16:57 -03:00 
						 
				 
			
				
					
						
							
							
								Jiri Olsa 
							
						 
					 
					
						
						
							
						
						9c3516d1b8 
					 
					
						
						
							
							libperf: Add perf_cpu_map__new()/perf_cpu_map__read() functions  
						
						... 
						
						
						
						Moving the following functions from tools/perf:
  cpu_map__new()
  cpu_map__read()
to libperf with the following names:
  perf_cpu_map__new()
  perf_cpu_map__read()
Committer notes:
Fixed up this one:
  tools/perf/arch/arm/util/cs-etm.c
Signed-off-by: Jiri Olsa <jolsa@kernel.org >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexey Budankov <alexey.budankov@linux.intel.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Michael Petlan <mpetlan@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/20190721112506.12306-44-jolsa@kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-07-29 18:34:45 -03:00 
						 
				 
			
				
					
						
							
							
								Jiri Olsa 
							
						 
					 
					
						
						
							
						
						38f01d8da1 
					 
					
						
						
							
							libperf: Add perf_cpu_map__get()/perf_cpu_map__put()  
						
						... 
						
						
						
						Moving the following functions:
  cpu_map__get()
  cpu_map__put()
to libperf with following names:
  perf_cpu_map__get()
  perf_cpu_map__put()
Committer notes:
Added fixes for arm/arm64
Signed-off-by: Jiri Olsa <jolsa@kernel.org >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexey Budankov <alexey.budankov@linux.intel.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Michael Petlan <mpetlan@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/20190721112506.12306-31-jolsa@kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-07-29 18:34:44 -03:00 
						 
				 
			
				
					
						
							
							
								Jiri Olsa 
							
						 
					 
					
						
						
							
						
						f854839ba2 
					 
					
						
						
							
							perf cpu_map: Rename struct cpu_map to struct perf_cpu_map  
						
						... 
						
						
						
						Rename struct cpu_map to struct perf_cpu_map, so it could be part of
libperf.
Committer notes:
Added fixes for arm64, provided by Jiri.
Signed-off-by: Jiri Olsa <jolsa@kernel.org >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexey Budankov <alexey.budankov@linux.intel.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Michael Petlan <mpetlan@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/20190721112506.12306-3-jolsa@kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-07-29 18:34:42 -03:00 
						 
				 
			
				
					
						
							
							
								Arnaldo Carvalho de Melo 
							
						 
					 
					
						
						
							
						
						7f7c536f23 
					 
					
						
						
							
							tools lib: Adopt zalloc()/zfree() from tools/perf  
						
						... 
						
						
						
						Eroding a bit more the tools/perf/util/util.h hodpodge header.
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-natazosyn9rwjka25tvcnyi0@git.kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2019-07-09 10:13:26 -03:00 
						 
				 
			
				
					
						
							
							
								Thomas Gleixner 
							
						 
					 
					
						
						
							
						
						b886d83c5b 
					 
					
						
						
							
							treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441  
						
						... 
						
						
						
						Based on 1 normalized pattern(s):
  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation version 2 of the license
extracted by the scancode license scanner the SPDX license identifier
  GPL-2.0-only
has been chosen to replace the boilerplate/reference in 315 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Allison Randal <allison@lohutok.net >
Reviewed-by: Armijn Hemel <armijn@tjaldur.nl >
Cc: linux-spdx@vger.kernel.org 
Link: https://lkml.kernel.org/r/20190531190115.503150771@linutronix.de 
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org > 
						
						
					 
					
						2019-06-05 17:37:17 +02:00 
						 
				 
			
				
					
						
							
							
								Arnaldo Carvalho de Melo 
							
						 
					 
					
						
						
							
						
						2f5302533f 
					 
					
						
						
							
							perf svghelper: Fix unchecked usage of strncpy()  
						
						... 
						
						
						
						The strncpy() function may leave the destination string buffer
unterminated, better use strlcpy() that we have a __weak fallback
implementation for systems without it.
In this specific case this would only happen if fgets() was buggy, as
its man page states that it should read one less byte than the size of
the destination buffer, so that it can put the nul byte at the end of
it, so it would never copy 255 non-nul chars, as fgets reads into the
orig buffer at most 254 non-nul chars and terminates it. But lets just
switch to strlcpy to keep the original intent and silence the gcc 8.2
warning.
This fixes this warning on an Alpine Linux Edge system with gcc 8.2:
  In function 'cpu_model',
      inlined from 'svg_cpu_box' at util/svghelper.c:378:2:
  util/svghelper.c:337:5: error: 'strncpy' output may be truncated copying 255 bytes from a string of length 255 [-Werror=stringop-truncation]
       strncpy(cpu_m, &buf[13], 255);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Arjan van de Ven <arjan@linux.intel.com >
Fixes: f48d55ce78https://lkml.kernel.org/n/tip-xzkoo0gyr56gej39ltivuh9g@git.kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2018-12-17 14:59:20 -03:00 
						 
				 
			
				
					
						
							
							
								Arnaldo Carvalho de Melo 
							
						 
					 
					
						
						
							
						
						af4b2c972a 
					 
					
						
						
							
							perf timechart: Use NSEC_PER_U?SEC  
						
						... 
						
						
						
						Following kernel practices, using linux/time64.h
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Arjan van de Ven <arjan@linux.intel.com >
Cc: David Ahern <dsahern@gmail.com >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Stanislav Fomichev <stfomichev@yandex-team.ru >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Wang Nan <wangnan0@huawei.com >
Link: http://lkml.kernel.org/n/tip-5l1md8lsdhfnrlsqyejzo9w2@git.kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2016-08-23 15:37:33 -03:00 
						 
				 
			
				
					
						
							
							
								Jiri Olsa 
							
						 
					 
					
						
						
							
						
						f30a79b012 
					 
					
						
						
							
							perf tools: Add reference counting for cpu_map object  
						
						... 
						
						
						
						Adding refference counting for cpu_map object, so it could be easily
shared among other objects.
Using cpu_map__put instead cpu_map__delete and making cpu_map__delete
static.
Signed-off-by: Jiri Olsa <jolsa@kernel.org >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: David Ahern <dsahern@gmail.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/r/1435012588-9007-4-git-send-email-jolsa@kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2015-06-25 15:15:50 -03:00 
						 
				 
			
				
					
						
							
							
								Stanislav Fomichev 
							
						 
					 
					
						
						
							
						
						b97b59b93d 
					 
					
						
						
							
							perf timechart: Implement IO mode  
						
						... 
						
						
						
						Currently, timechart records only scheduler and CPU events (task switches,
running times, CPU power states, etc); this commit adds IO mode which
makes it possible to record IO (disk, network) activity. In this mode
perf timechart will generate SVG with IO charts (writes, reads, tx, rx, polls).
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Link: http://lkml.kernel.org/n/1404835423-23098-3-git-send-email-stfomichev@yandex-team.ru 
Signed-off-by: Jiri Olsa <jolsa@kernel.org > 
						
						
					 
					
						2014-07-10 00:22:54 +02:00 
						 
				 
			
				
					
						
							
							
								Stanislav Fomichev 
							
						 
					 
					
						
						
							
						
						f8dda74fb4 
					 
					
						
						
							
							perf timechart: Fix rendering in Firefox  
						
						... 
						
						
						
						Firefox doesn't correctly handle cases where we specify number in
quotes and have some padding around the number, like the following:
<rect ... height=" 3.1" ...>
In this case, it doesn't draw the figure. This patch removes 'field width'
component from fprintf strings to fix it.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Link: http://lkml.kernel.org/n/1404835423-23098-2-git-send-email-stfomichev@yandex-team.ru 
Signed-off-by: Jiri Olsa <jolsa@kernel.org > 
						
						
					 
					
						2014-07-10 00:22:53 +02:00 
						 
				 
			
				
					
						
							
							
								Borislav Petkov 
							
						 
					 
					
						
						
							
						
						d944c4eebc 
					 
					
						
						
							
							tools: Consolidate types.h  
						
						... 
						
						
						
						Combine all definitions into a common tools/include/linux/types.h and
kill the wild growth elsewhere. Move DECLARE_BITMAP to its proper
bitmap.h header.
Signed-off-by: Borislav Petkov <bp@suse.de >
Acked-by: Rusty Russell <rusty@rustcorp.com.au >
Link: http://lkml.kernel.org/n/tip-azczs7qcv6h9xek9od10hiv2@git.kernel.org 
Signed-off-by: Jiri Olsa <jolsa@kernel.org > 
						
						
					 
					
						2014-05-01 21:22:39 +02:00 
						 
				 
			
				
					
						
							
							
								Arnaldo Carvalho de Melo 
							
						 
					 
					
						
						
							
						
						74cf249d5c 
					 
					
						
						
							
							perf tools: Use zfree to help detect use after free bugs  
						
						... 
						
						
						
						Several areas already used this technique, so do some audit to
consistently use it elsewhere.
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: David Ahern <dsahern@gmail.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/n/tip-9sbere0kkplwe45ak6rk4a1f@git.kernel.org 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2013-12-27 17:08:19 -03:00 
						 
				 
			
				
					
						
							
							
								Stanislav Fomichev 
							
						 
					 
					
						
						
							
						
						e57a2dffbc 
					 
					
						
						
							
							perf timechart: Add --highlight option  
						
						... 
						
						
						
						This option highlights tasks (using different color) that run more than
given duration or tasks with given name.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
Acked-by: Ingo Molnar <mingo@kernel.org >
Cc: Ingo Molnar <mingo@kernel.org >
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: Ramkumar Ramachandra <artagnon@gmail.com >
Link: http://lkml.kernel.org/r/20131217155349.GA13021@stfomichev-desktop 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2013-12-17 16:33:55 -03:00 
						 
				 
			
				
					
						
							
							
								Stanislav Fomichev 
							
						 
					 
					
						
						
							
						
						c507999790 
					 
					
						
						
							
							perf timechart: Add support for topology  
						
						... 
						
						
						
						Add -t switch to sort CPUs topologically.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
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: Ramkumar Ramachandra <artagnon@gmail.com >
Link: http://lkml.kernel.org/r/1385995056-20158-5-git-send-email-stfomichev@yandex-team.ru 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2013-12-16 16:34:53 -03:00 
						 
				 
			
				
					
						
							
							
								Stanislav Fomichev 
							
						 
					 
					
						
						
							
						
						de996228de 
					 
					
						
						
							
							perf timechart: Print pid along the name  
						
						... 
						
						
						
						Add PID to the figures of CPU usage timechart.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
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: Ramkumar Ramachandra <artagnon@gmail.com >
Link: http://lkml.kernel.org/r/1385995056-20158-3-git-send-email-stfomichev@yandex-team.ru 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2013-12-16 16:33:57 -03:00 
						 
				 
			
				
					
						
							
							
								Stanislav Fomichev 
							
						 
					 
					
						
						
							
						
						8b6dcca017 
					 
					
						
						
							
							perf timechart: Add backtrace support to CPU info  
						
						... 
						
						
						
						Add backtrace info to the CPU usage timechart.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
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: Ramkumar Ramachandra <artagnon@gmail.com >
Link: http://lkml.kernel.org/r/1385995056-20158-2-git-send-email-stfomichev@yandex-team.ru 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2013-12-16 16:33:14 -03:00 
						 
				 
			
				
					
						
							
							
								Stanislav Fomichev 
							
						 
					 
					
						
						
							
						
						6f8d67fa0c 
					 
					
						
						
							
							perf timechart: Add backtrace support  
						
						... 
						
						
						
						Add -g flag to `perf timechart record` which saves callchain info in the
perf.data.
When generating SVG, add backtrace information to the figure details, so
now it's possible to see which code path woke up the task and why some
task went to sleep.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1383323151-19810-8-git-send-email-stfomichev@yandex-team.ru 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2013-11-27 14:58:37 -03:00 
						 
				 
			
				
					
						
							
							
								Stanislav Fomichev 
							
						 
					 
					
						
						
							
						
						cbb2e81e52 
					 
					
						
						
							
							perf timechart: Group figures and add title with details  
						
						... 
						
						
						
						Add titles to figures so we can run SVG interactively in Firefox and
check event details in the tooltips.
This also aids exploring SVG with Inkscape because when user clicks on
one part of logical figure, all parts are selected.
It's also possible to read titles with Inkscape in the object details.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1383323151-19810-6-git-send-email-stfomichev@yandex-team.ru 
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2013-11-27 14:58:37 -03:00 
						 
				 
			
				
					
						
							
							
								Thomas Renninger 
							
						 
					 
					
						
						
							
						
						e853072055 
					 
					
						
						
							
							perf timechart: Fix black idle boxes in the title  
						
						... 
						
						
						
						This fix is needed for eye of gnome and firefox svg viewers.
Only Inkscape can handle the broken case.
Compare with the other svg_legenda_box declarations, looks
like a typo slipped in at this place.
Signed-off-by: Thomas Renninger <trenn@suse.de >
Cc: Arjan van de Ven <arjan@linux.intel.com >
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net >
Cc: lenb@kernel.org 
LKML-Reference: <1298842606-55712-5-git-send-email-trenn@suse.de >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2011-02-28 08:56:14 +01:00 
						 
				 
			
				
					
						
							
							
								Thomas Renninger 
							
						 
					 
					
						
						
							
						
						00e99a49f6 
					 
					
						
						
							
							perf tools: Fix time function double declaration with glibc  
						
						... 
						
						
						
						It's enough to include the local "debug.h" file to trigger it.
man time reveals this is already declared in glibc:
time - get time in seconds
-> rename the variable.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: arjan@infradead.org 
LPU-Reference: <1295620209-13859-2-git-send-email-trenn@suse.de >
Signed-off-by: Thomas Renninger <trenn@suse.de >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2011-01-22 19:53:00 -02:00 
						 
				 
			
				
					
						
							
							
								Arnaldo Carvalho de Melo 
							
						 
					 
					
						
						
							
						
						9486aa3877 
					 
					
						
						
							
							perf tools: Fix 64 bit integer format strings  
						
						... 
						
						
						
						Using %L[uxd] has issues in some architectures, like on ppc64.  Fix it
by making our 64 bit integers typedefs of stdint.h types and using
PRI[ux]64 like, for instance, git does.
Reported by Denis Kirjanov that provided a patch for one case, I went
and changed all cases.
Reported-by: Denis Kirjanov <dkirjanov@kernel.org >
Tested-by: Denis Kirjanov <dkirjanov@kernel.org >
LKML-Reference: <20110120093246.GA8031@hera.kernel.org >
Cc: Denis Kirjanov <dkirjanov@kernel.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Pingtian Han <phan@redhat.com >
Cc: Stephane Eranian <eranian@google.com >
Cc: Tom Zanussi <tzanussi@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com > 
						
						
					 
					
						2011-01-22 23:41:57 -02:00 
						 
				 
			
				
					
						
							
							
								Arjan van de Ven 
							
						 
					 
					
						
						
							
						
						2e600d01c1 
					 
					
						
						
							
							perf timechart: Improve the visual appearance of scheduler delays  
						
						... 
						
						
						
						[from KS feedback]
Currently, scheduler delays are shown in a mostly transparent,
light yellow color. This color is rather hard to see on several
screens, especially projectors.
This patch changes the color of the scheduler delays to be a
much more "hard" yellow that survived the kernel summit
projector.
Reported-by: Linus Torvalds <torvalds@osdl.org >
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com 
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091020064731.20ae126a@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2009-10-20 03:39:21 +02:00 
						 
				 
			
				
					
						
							
							
								Arjan van de Ven 
							
						 
					 
					
						
						
							
						
						39a90a8ef1 
					 
					
						
						
							
							perf timechart: Add a power-only mode  
						
						... 
						
						
						
						For doing work on the Linux power management components, I need to
make long (30+ seconds) traces. Currently, this then results in a
HUGE svg file, with mostly process data that isn't interesting.
This patch adds a --power-only mode to perf timechart that only
outputs the CPU power section of the SVG; this significantly
reduces the size of the SVG file, making even 30+ second traces
viewable with inkscape.
As a minor tweak for the same effect, the minimum text size is
decreased; current inkscape cannot zoom in deep enough to show text
this small, but it reduces inkscape compute time.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com >
Cc: peterz@infradead.org 
LKML-Reference: <20090924154013.0675ab71@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2009-10-01 09:26:40 +02:00 
						 
				 
			
				
					
						
							
							
								Arjan van de Ven 
							
						 
					 
					
						
						
							
						
						611a546bec 
					 
					
						
						
							
							perf util: SVG performance improvements  
						
						... 
						
						
						
						Tweak the output SVG to increase performance in SVG viewers by
limiting the different types of font sizes and by smarter
transformations on the text.
At least with Inkscape this gives a notable performance improvement
during zoom and scrolling.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20090920181438.3a49cb93@linux.intel.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2009-09-20 19:37:36 +02:00 
						 
				 
			
				
					
						
							
							
								Arjan van de Ven 
							
						 
					 
					
						
						
							
						
						5094b65545 
					 
					
						
						
							
							perf util: Make the timechart SVG width dynamic  
						
						... 
						
						
						
						This patch adds a command line option for timechart that allows the
user to specify the width of the SVG file.
This patch also makes sure that each second of recording has at
least 200 units (pixels at 96 DPI) of width.  This impacts
recordings longer than 5 seconds; recordings shorter than 5 second
will scale up to have a width of 1000 units for the whole recording
(as before).
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20090920181416.69570c5d@linux.intel.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2009-09-20 19:37:35 +02:00 
						 
				 
			
				
					
						
							
							
								Arjan van de Ven 
							
						 
					 
					
						
						
							
						
						a92fe7b306 
					 
					
						
						
							
							perf timechart: Show the duration of scheduler delays in the SVG  
						
						... 
						
						
						
						Given that scheduler latencies are the hot thing nowadays, show the
duration of said latencies in the SVG in text form.
In addition, if the latency is more than 10 msec, pick a brighter
yellow color as a way to point these long delays out.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20090920181353.796f4509@linux.intel.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2009-09-20 19:37:35 +02:00 
						 
				 
			
				
					
						
							
							
								Arjan van de Ven 
							
						 
					 
					
						
						
							
						
						4f1202c8e6 
					 
					
						
						
							
							perf timechart: Show the name of the waker/wakee in timechart  
						
						... 
						
						
						
						Timechart currently shows thin green lines for sending or receiving
wakeups. This patch also prints (in a very small font) the name of
the process that is being woken/wakes up this process.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20090920181328.68baa978@linux.intel.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2009-09-20 19:37:34 +02:00 
						 
				 
			
				
					
						
							
							
								Arjan van de Ven 
							
						 
					 
					
						
						
							
						
						964a0b3d2b 
					 
					
						
						
							
							perf utils: Be consistent about minimum text size in the svghelper  
						
						... 
						
						
						
						Be more consistent in the svghelper about the minimum text size
by having a global #define for this.
There needs to be a minimum text size in order to keep the size
of the SVG file within the reach of what current SVG viewers can
cope with.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com >
Cc: fweisbec@gmail.com 
Cc: peterz@infradead.org 
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arjan van de Ven <arjan@infradead.org >
LKML-Reference: <20090919133507.7374ef8b@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2009-09-19 18:57:52 +02:00 
						 
				 
			
				
					
						
							
							
								Arjan van de Ven 
							
						 
					 
					
						
						
							
						
						f48d55ce78 
					 
					
						
						
							
							perf: Add a SVG helper library file  
						
						... 
						
						
						
						The timechart tool writes out SVG format output; this patch adds a
set of helper functions to abstract dealing with SVG from the core
timechart code.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com >
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20090912130613.677f0516@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu > 
						
						
					 
					
						2009-09-19 11:42:13 +02:00