linux_dsm_epyc7002/tools/perf/util
Namhyung Kim 8e67b7258e perf symbols: Protect dso cache tree using dso->lock
The dso cache is accessed during dwarf callchain unwind and it might be
processed concurrently.  Protect it under dso->lock.

Note that it doesn't protect dso_cache__find().  I think it's safe to
access to the cache tree without the lock since we don't delete nodes.

It it missed an existing node due to rotation, it'll find it during
dso_cache__insert() anyway.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1431909055-21442-27-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-05-18 10:17:37 -03:00
..
include perf/bench: Fix mem* routines usage after alternatives change 2015-03-03 18:01:10 +01:00
scripting-engines perf db-export: No need to have ->thread twice in struct export_sample 2015-04-02 13:18:43 -03:00
abspath.c
alias.c perf tools: Introduce zfree 2013-12-27 15:17:00 -03:00
annotate.c Merge branch 'perf/urgent' into perf/core, to pick up fixes and to refresh the tree 2015-03-27 09:46:03 +01:00
annotate.h perf tools: Fix segfault for symbol annotation on TUI 2015-01-16 17:49:29 -03:00
auxtrace.c perf tools: Add AUX area tracing Snapshot Mode 2015-05-05 18:13:00 -03:00
auxtrace.h perf record: Add AUX area tracing Snapshot Mode support 2015-05-05 18:13:01 -03:00
bitmap.c
Build perf tools: Make flex/bison calls honour V=1 2015-05-14 19:27:47 -03:00
build-id.c perf machine: Protect the machine->threads with a rwlock 2015-05-08 16:19:27 -03:00
build-id.h perf buildid-cache: Add --purge FILE to remove all caches of FILE 2015-02-27 15:52:33 -03:00
cache.h perf report: Fix some option handling on --stdio 2015-05-14 10:05:22 -03:00
callchain.c perf tools: Enable LBR call stack support 2015-02-18 17:16:17 +01:00
callchain.h perf tools: Move TUI-specific fields out of map_symbol 2015-05-05 18:13:24 -03:00
cgroup.c perf cgroup: Use atomic.h for refcounting 2015-05-15 16:12:20 -03:00
cgroup.h perf cgroup: Use atomic.h for refcounting 2015-05-15 16:12:20 -03:00
cloexec.c perf tools: Work around lack of sched_getcpu in glibc < 2.6. 2015-03-24 12:08:07 -03:00
cloexec.h perf tools: Work around lack of sched_getcpu in glibc < 2.6. 2015-03-24 12:08:07 -03:00
color.c perf tools: Remove some unused functions from color.c 2015-01-21 13:24:32 -03:00
color.h perf tools: Remove some unused functions from color.c 2015-01-21 13:24:32 -03:00
comm.c perf tools: Identify which comms are from exec 2014-08-13 19:23:08 -03:00
comm.h perf tools: Add facility to export data in database-friendly way 2014-10-29 10:32:49 -02:00
config.c perf tools: Add --buildid-dir option to set cache directory 2014-12-09 09:14:35 -03:00
cpumap.c perf tools: Use cpu/possible instead of cpu/kernel_max 2014-04-22 17:39:16 +02:00
cpumap.h perf tools: Allow ability to map cpus to nodes easily 2014-04-22 17:39:12 +02:00
ctype.c
data-convert-bt.c perf data: Fix signedness of value 2015-04-29 10:37:49 -03:00
data-convert-bt.h perf data: Support using -f to override perf.data file ownership for 'convert' 2015-04-02 13:18:52 -03:00
data.c perf util: Replace strerror with strerror_r for thread-safety 2014-08-15 10:58:35 -03:00
data.h perf tools: Add perf_data_file__write interface 2013-12-02 09:22:46 -03:00
db-export.c perf machine: Protect the machine->threads with a rwlock 2015-05-08 16:19:27 -03:00
db-export.h perf db-export: No need to have ->thread twice in struct export_sample 2015-04-02 13:18:43 -03:00
debug.c perf data: Add perf data to CTF conversion support 2015-02-25 16:13:12 -03:00
debug.h perf data: Add perf data to CTF conversion support 2015-02-25 16:13:12 -03:00
dso.c perf symbols: Protect dso cache tree using dso->lock 2015-05-18 10:17:37 -03:00
dso.h perf symbols: Protect dso symbol loading using a mutex 2015-05-18 10:17:36 -03:00
dwarf-aux.c perf tools: Fix dwarf-aux.c compilation on i386 2015-05-15 16:59:43 -03:00
dwarf-aux.h perf probe: Ignore tail calls to probed functions 2015-05-14 10:05:09 -03:00
environment.c perf report: Fix some option handling on --stdio 2015-05-14 10:05:22 -03:00
event.c perf machine: Protect the machine->threads with a rwlock 2015-05-08 16:19:27 -03:00
event.h perf machine: Protect the machine->threads with a rwlock 2015-05-08 16:19:27 -03:00
evlist.c perf evlist: Use atomic.h for the perf_mmap refcount 2015-05-15 15:45:16 -03:00
evlist.h perf tools: Elliminate alignment holes 2015-05-18 10:17:33 -03:00
evsel.c perf tools: Add aux_watermark member of struct perf_event_attr 2015-04-29 10:37:58 -03:00
evsel.h perf tools: Elliminate alignment holes 2015-05-18 10:17:33 -03:00
exec_cmd.c
exec_cmd.h
find-vdso-map.c perf tools: Build programs to copy 32-bit compatibility 2014-10-29 10:32:48 -02:00
generate-cmdlist.sh tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT 2013-10-09 08:48:28 +02:00
header.c perf tools: Add AUX area tracing index 2015-05-04 19:48:47 -03:00
header.h perf header: Add AUX area tracing feature 2015-04-29 10:37:49 -03:00
help.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
help.h
hist.c perf tools: Move TUI-specific fields out of map_symbol 2015-05-05 18:13:24 -03:00
hist.h perf hists browser: Allow annotating entries in callchains 2015-03-17 18:27:28 -03:00
intlist.c perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
intlist.h perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
kvm-stat.h perf kvm: Support using -f to override perf.data.guest file ownership 2015-04-02 13:18:47 -03:00
levenshtein.c
levenshtein.h
lzma.c perf tools: Add lzma decompression support for kernel module 2015-03-21 14:53:40 -03:00
machine.c perf machine: Stop accessing atomic_t::counter directly 2015-05-15 15:32:55 -03:00
machine.h perf machine: Protect the machine->threads with a rwlock 2015-05-08 16:19:27 -03:00
map.c perf tools: Use atomic.h for the map_groups refcount 2015-05-15 15:20:44 -03:00
map.h perf tools: Use atomic.h for the map_groups refcount 2015-05-15 15:20:44 -03:00
ordered-events.c perf ordered_samples: Remove references to perf_{evlist,tool} and machines 2015-03-31 17:52:32 -03:00
ordered-events.h perf ordered_samples: Remove references to perf_{evlist,tool} and machines 2015-03-31 17:52:32 -03:00
pager.c perf report: Fix some option handling on --stdio 2015-05-14 10:05:22 -03:00
parse-events.c perf tools: Add symbolic events support for parse_events_error 2015-04-29 10:38:02 -03:00
parse-events.h perf tools: Add symbolic events support for parse_events_error 2015-04-29 10:38:02 -03:00
parse-events.l perf tools: Add term support for parse_events_error 2015-04-29 10:38:01 -03:00
parse-events.y perf tools: Add symbolic events support for parse_events_error 2015-04-29 10:38:02 -03:00
parse-options.c perf report: Don't allow empty argument for '-t'. 2015-03-19 13:53:28 -03:00
parse-options.h perf record: Add AUX area tracing Snapshot Mode support 2015-05-05 18:13:01 -03:00
path.c tools/perf: Turn strlcpy() into a __weak function 2013-10-09 08:48:49 +02:00
perf_regs.c perf tools: Cache register accesses for unwind processing 2014-06-12 16:53:19 +02:00
perf_regs.h perf tools: Cache register accesses for unwind processing 2014-06-12 16:53:19 +02:00
PERF-VERSION-GEN perf tools: Fix version when building out of tree 2013-11-07 10:40:47 -03:00
pmu.c perf tools: Add term support for parse_events_error 2015-04-29 10:38:01 -03:00
pmu.h perf tools: Add term support for parse_events_error 2015-04-29 10:38:01 -03:00
pmu.l
pmu.y
probe-event.c perf probe: Load map before glob matching 2015-05-18 10:16:48 -03:00
probe-event.h perf probe: Add --range option to show a variable's location range 2015-05-12 09:59:50 -03:00
probe-finder.c perf probe: Ignore tail calls to probed functions 2015-05-14 10:05:09 -03:00
probe-finder.h perf probe: Introduce probe_conf global configs 2015-05-08 16:26:26 -03:00
pstack.c perf tools: Introduce pstack_peek() 2015-05-05 18:13:22 -03:00
pstack.h perf tools: Introduce pstack_peek() 2015-05-05 18:13:22 -03:00
python-ext-sources perf tools: Remove api fs object from python build 2015-02-12 11:22:01 -03:00
python.c perf tools: Remove EOL whitespaces 2015-01-21 13:24:31 -03:00
quote.c
quote.h
rblist.c perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
rblist.h perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
record.c perf tools: Add parse_events_error interface 2015-04-29 10:37:58 -03:00
run-command.c perf util: Replace strerror with strerror_r for thread-safety 2014-08-15 10:58:35 -03:00
run-command.h
session.c perf tools: Add support for PERF_RECORD_ITRACE_START 2015-05-05 18:12:58 -03:00
session.h perf tools: Add AUX area tracing index 2015-05-04 19:48:47 -03:00
setup.py tools lib api: Rename libapikfs.a to libapi.a 2015-02-12 17:55:18 -03:00
sigchain.c
sigchain.h
sort.c perf tools: Fix "Command" sort_entry's cmp and collapse function 2015-05-15 17:02:21 -03:00
sort.h perf tools: Move TUI-specific fields out of map_symbol 2015-05-05 18:13:24 -03:00
srcline.c perf: Fix building warning on ARM 32 2014-12-19 13:09:43 +01:00
stat.c
stat.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
strbuf.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
strbuf.h
strfilter.c perf tools: Add strfilter__string to recover rules string 2015-05-04 12:43:54 -03:00
strfilter.h perf tools: Add strfilter__string to recover rules string 2015-05-04 12:43:54 -03:00
string.c Revert "perf tools: Default to cpu// for events v5" 2014-10-15 16:04:33 -03:00
strlist.c perf tools: Fix build error due to zfree() cast 2014-01-15 15:10:04 -03:00
strlist.h
svghelper.c perf timechart: Implement IO mode 2014-07-10 00:22:54 +02:00
svghelper.h perf timechart: Implement IO mode 2014-07-10 00:22:54 +02:00
symbol-elf.c perf symbols: Warn on build id mismatch 2015-05-04 12:43:51 -03:00
symbol-minimal.c perf symbols: Save DSO loading errno to better report errors 2015-03-24 12:08:43 -03:00
symbol.c perf symbols: Protect dso symbol loading using a mutex 2015-05-18 10:17:36 -03:00
symbol.h perf tools: Move TUI-specific fields out of map_symbol 2015-05-05 18:13:24 -03:00
target.c perf target: Simplify handling of strerror_r return 2015-03-24 12:08:30 -03:00
target.h perf target: Move the checking of which map function to call into function. 2013-12-04 13:46:37 -03:00
thread_map.c perf thread_map: Create dummy constructor out of open coded equivalent 2014-10-14 17:32:52 -03:00
thread_map.h perf thread_map: Create dummy constructor out of open coded equivalent 2014-10-14 17:32:52 -03:00
thread-stack.c perf tools: Enhance the thread stack to output call/return data 2014-11-03 17:43:56 -03:00
thread-stack.h perf tools: Enhance the thread stack to output call/return data 2014-11-03 17:43:56 -03:00
thread.c perf machine: Protect the machine->threads with a rwlock 2015-05-08 16:19:27 -03:00
thread.h perf tools: Elliminate alignment holes 2015-05-18 10:17:33 -03:00
tool.h perf tools: Add support for PERF_RECORD_ITRACE_START 2015-05-05 18:12:58 -03:00
top.c perf tools: Rename 'perf_record_opts' to 'record_opts 2013-12-19 14:43:45 -03:00
top.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
trace-event-info.c perf tools: Move pr_* debug macros into debug object 2014-07-17 12:58:39 -03:00
trace-event-parse.c perf tools: Introduce event_format__fprintf method 2015-02-06 11:46:37 +01:00
trace-event-read.c perf tools: Remove needless getopt.h includes 2014-07-17 12:59:00 -03:00
trace-event-scripting.c perf scripting: No need to pass thread twice to the scripting callbacks 2015-04-02 13:18:41 -03:00
trace-event.c tools lib traceevent: Make plugin unload function receive pevent 2014-01-15 15:10:40 -03:00
trace-event.h perf scripting: No need to pass thread twice to the scripting callbacks 2015-04-02 13:18:41 -03:00
tsc.c perf tools: Move rdtsc() function 2014-07-23 11:48:11 -03:00
tsc.h perf tools: Move rdtsc() function 2014-07-23 11:48:11 -03:00
unwind-libdw.c perf callchains: Use thread->mg->machine 2014-10-29 10:32:46 -02:00
unwind-libdw.h perf tools: Add libdw DWARF post unwind support 2014-02-24 09:29:36 -03:00
unwind-libunwind.c perf callchain: Separate eh/debug frame offset cache. 2015-03-19 13:53:27 -03:00
unwind.h perf callchains: Use thread->mg->machine 2014-10-29 10:32:46 -02:00
usage.c
util.c perf tools: Introduce copyfile_offset() function 2015-05-18 10:17:35 -03:00
util.h perf tools: Introduce copyfile_offset() function 2015-05-18 10:17:35 -03:00
values.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
values.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
vdso.c perf tools: Do not attempt to run perf-read-vdso32 if it wasn't built 2014-10-29 10:32:48 -02:00
vdso.h perf tools: Add support for 32-bit compatibility VDSOs 2014-10-29 10:32:48 -02:00
wrapper.c
xyarray.c
xyarray.h
zlib.c perf tools: Add gzip decompression support for kernel module 2014-11-05 10:11:26 -03:00