linux/tools/perf/util
Arnaldo Carvalho de Melo 591765fdaf perf tools: Release thread resources on PERF_RECORD_EXIT
For long running sessions with many threads with short lifetimes the
amount of memory that the buildid process takes is too much.

Since we don't have hist_entries that may be pointing to them, we can
just release the resources associated with each thread when the exit
(PERF_RECORD_EXIT) event is received.

For normal processing we need to annotate maps with hits, and thus
hist_entries pointing to it and drop the ones that had none. Will be
done in a followup patch.

Cc: David S. Miller <davem@davemloft.net>
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: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2010-07-30 18:28:42 -03:00
..
include perf options: Check v type in OPT_U?INTEGER 2010-05-17 15:43:38 -03:00
scripting-engines perf scripts python: Give field dict to unhandled callback 2010-06-01 06:12:35 -03:00
PERF-VERSION-GEN perf: Version String fix, for fallback if not from git 2010-07-05 10:42:58 +02:00
abspath.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
alias.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
bitmap.c perf tools: Don't use code surrounded by __KERNEL__ 2010-05-02 12:00:44 -03:00
build-id.c perf tools: Release thread resources on PERF_RECORD_EXIT 2010-07-30 18:28:42 -03:00
build-id.h perf annotate: Use build-ids to find the right DSO 2010-05-20 12:15:33 -03:00
cache.h perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
callchain.c Merge branch 'linus' into perf/core 2010-07-21 21:43:06 +02:00
callchain.h Merge branch 'linus' into perf/core 2010-07-21 21:43:06 +02:00
color.c perf hist: Replace ->print() routines by ->snprintf() equivalents 2010-04-02 16:28:15 -03:00
color.h perf hist: Replace ->print() routines by ->snprintf() equivalents 2010-04-02 16:28:15 -03:00
config.c perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
cpumap.c perf tools: Add the ability to specify list of cpus to monitor 2010-06-05 09:33:01 -03:00
cpumap.h perf tools: Add the ability to specify list of cpus to monitor 2010-06-05 09:33:01 -03:00
ctype.c perf tools: Move graph_line and graph_dotted_line from top 2009-11-23 21:55:20 +01:00
debug.c perf debug: fix hex dump partial final line 2010-06-17 13:20:50 -03:00
debug.h perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR() 2010-04-14 11:26:44 +02:00
debugfs.c perf trace: Clean up find_debugfs() 2009-12-28 10:36:36 +01:00
debugfs.h perf tools: Mount debugfs automatically 2009-12-28 10:36:36 +01:00
environment.c
event.c perf symbols: Precisely specify if dso->{long,short}_name should be freed 2010-07-29 15:11:30 -03:00
event.h perf tools: Make event__preprocess_sample parse the sample 2010-06-05 09:35:19 -03:00
exec_cmd.c perf tools: remove xstrndup, xmalloc, xzalloc 2010-05-18 23:05:28 -03:00
exec_cmd.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
generate-cmdlist.sh
header.c perf record: Add option to avoid updating buildid cache 2010-06-17 10:20:44 -03:00
header.h perf/live: don't synthesize build ids at the end of a live mode trace 2010-05-02 12:04:05 -03:00
help.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
help.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
hist.c perf ui: New hists tree widget 2010-07-27 11:24:31 -03:00
hist.h perf hist: Introduce routine to measure lenght of formatted entry 2010-07-27 11:24:31 -03:00
hweight.c perf tools: Don't use code surrounded by __KERNEL__ 2010-05-02 12:00:44 -03:00
levenshtein.c
levenshtein.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
map.c perf tools: Release thread resources on PERF_RECORD_EXIT 2010-07-30 18:28:42 -03:00
map.h perf tools: Release thread resources on PERF_RECORD_EXIT 2010-07-30 18:28:42 -03:00
newt.c perf tui: Make CTRL+Z suspend perf 2010-07-30 10:06:06 -03:00
pager.c perf_counter tools: Remove dead code 2009-06-27 06:06:39 +02:00
parse-events.c perf: Don't use 4 bytes as a default instruction breakpoint length 2010-06-24 23:35:49 +02:00
parse-events.h perf: record TRACE_INFO only if using tracepoints and SAMPLE_RAW 2010-05-03 10:31:48 -03:00
parse-options.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
parse-options.h perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
path.c perf tools: remove xstrndup, xmalloc, xzalloc 2010-05-18 23:05:28 -03:00
probe-event.c perf probe: Rename common fields/functions from kprobe to probe. 2010-07-30 12:01:38 -03:00
probe-event.h perf probe: Rename common fields/functions from kprobe to probe. 2010-07-30 12:01:38 -03:00
probe-finder.c perf probe: Rename common fields/functions from kprobe to probe. 2010-07-30 12:01:38 -03:00
probe-finder.h perf probe: Rename common fields/functions from kprobe to probe. 2010-07-30 12:01:38 -03:00
pstack.c perf newt: Make <- zoom out filters 2010-05-14 20:05:21 -03:00
pstack.h perf newt: Make <- zoom out filters 2010-05-14 20:05:21 -03:00
quote.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
quote.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
run-command.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
run-command.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
session.c perf tools: Remove unneeded code for tracking the cwd in perf sessions 2010-07-27 11:46:12 -03:00
session.h perf session: Remove threads from tree on PERF_RECORD_EXIT 2010-06-17 08:37:44 -03:00
sigchain.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sigchain.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sort.c perf sort: Make column width code per hists instance 2010-07-23 08:55:59 -03:00
sort.h perf ui: New hists tree widget 2010-07-27 11:24:31 -03:00
strbuf.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
strbuf.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
string.c perf: Swap inclusion order of util.h and string.h in util/string.c 2010-04-04 16:40:42 +02:00
strlist.c perf probe: Fix --del to update current event list 2009-12-15 20:22:01 +01:00
strlist.h perf tools: Add for_each macros for strlist 2009-12-15 20:22:02 +01:00
svghelper.c perf timechart: Improve the visual appearance of scheduler delays 2009-10-20 03:39:21 +02:00
svghelper.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
symbol.c perf symbols: Improve debug image search when loading symbols 2010-07-30 09:54:49 -03:00
symbol.h perf symbols: Precisely specify if dso->{long,short}_name should be freed 2010-07-29 15:11:30 -03:00
thread.c perf tools: Release thread resources on PERF_RECORD_EXIT 2010-07-30 18:28:42 -03:00
thread.h perf tools: Release thread resources on PERF_RECORD_EXIT 2010-07-30 18:28:42 -03:00
trace-event-info.c perf/record: simplify TRACE_INFO tracepoint check 2010-05-05 11:12:53 -03:00
trace-event-parse.c Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:19:03 -07:00
trace-event-read.c perf: Use read() instead of lseek() in trace_event_read.c:skip() 2010-05-20 08:37:17 +02:00
trace-event-scripting.c perf/scripts: Add Python scripting engine 2010-02-25 04:07:29 +01:00
trace-event.h perf: Fix unaligned accesses while fetching trace values 2010-05-20 11:21:57 +02:00
types.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
usage.c perf top: Fall back to cpu-clock-tick hrtimer sampling if no cycle counter available 2009-06-07 17:31:52 +02:00
util.c perf report: Report number of events, not samples 2010-05-14 14:19:35 -03:00
util.h perf record: Add option to avoid updating buildid cache 2010-06-17 10:20:44 -03:00
values.c perf: Fix memory leak: counterwidth 2010-01-13 10:09:15 +01:00
values.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
wrapper.c perf tools: remove xstrndup, xmalloc, xzalloc 2010-05-18 23:05:28 -03:00