tmp_suning_uos_patched/tools/perf/util
Jiri Olsa 774cb499ca perf tools: Fix 'disabled' attribute config for record command
Currently the record command sets all events initially as disabled.

There's non conditional perf_evlist__enable call, that enables all
events before we exec tracee program. That actually screws whole
enable_on_exec logic, because the event is enabled before the traced
program got executed.

What we actually want is:

1) For any type of traced program:
  - all independent events and group leaders are disabled
  - all group members are enabled

   Group members are ruled by group leaders. They need to
   be enabled, because the group scheduling relies on that.

2) For traced programs executed by perf:
   - all independent events and group leaders have
     enable_on_exec set
   - we don't specifically enable or disable any event during
     the record command

   Independent events and group leaders are initially disabled
   and get enabled by exec. Group members are ruled by group
   leaders as stated in 1).

3) For traced programs attached by perf (pid/tid):
   - we specifically enable or disable all events during
     the record command

   When attaching events to already running traced we
   enable/disable events specifically, as there's no
   initial traced exec call.

Fixing appropriate perf_event_attr test case to cover this change.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1352741644-16809-3-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2012-11-14 16:52:03 -03:00
..
include perf: Fix UAPI fallout 2012-10-14 12:22:52 -07:00
scripting-engines perf tools: Remove duplicated include from trace-event-python.c 2012-10-07 13:15:04 -03:00
abspath.c
alias.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
annotate.c perf annotate: Merge same lines in summary view 2012-11-09 16:50:18 -03:00
annotate.h perf annotate: Merge same lines in summary view 2012-11-09 16:50:18 -03:00
bitmap.c perf tools: Add bitmap_or function into bitmap object 2012-02-13 23:28:10 -02:00
build-id.c perf tools: Move build_id__sprintf into build-id object 2012-10-29 11:34:46 -02:00
build-id.h perf tools: Move BUILD_ID_SIZE into build-id object 2012-10-29 11:35:32 -02:00
cache.h perf tools: Convert to HAVE_STRLCPY 2012-10-02 18:36:24 -03:00
callchain.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
callchain.h tools: perf: Fix typo in tools/perf 2012-09-01 08:49:34 -07:00
cgroup.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cgroup.h
color.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
color.h
config.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cpumap.c perf stat: Check PMU cpumask file 2012-09-17 13:12:02 -03:00
cpumap.h perf tools: Allow handling a NULL cpu_map as meaning "all cpus" 2012-09-26 12:41:14 -03:00
ctype.c perf tools: ctype.c only wants util.h 2012-02-13 23:17:40 -02:00
debug.c perf tools: Convert to GTK2_SUPPORT 2012-10-02 18:36:23 -03:00
debug.h perf tools: Convert to GTK2_SUPPORT 2012-10-02 18:36:23 -03:00
debugfs.c perf tools: Remove unused functions from debugfs object 2012-02-13 23:25:38 -02:00
debugfs.h perf tools: Remove unused functions from debugfs object 2012-02-13 23:25:38 -02:00
dso.c perf machine: Move more methods to machine.[ch] 2012-11-09 11:32:52 -03:00
dso.h perf tools: Move dso_* related functions into dso object 2012-10-29 11:37:25 -02:00
dwarf-aux.c perf probe: Print an enum type variable in "enum variable-name" format when showing accessible variables 2012-09-27 10:58:57 -03:00
dwarf-aux.h
environment.c
event.c perf tools: Use sscanf for parsing /proc/pid/maps 2012-11-14 16:51:40 -03:00
event.h perf tools: Move BUILD_ID_SIZE into build-id object 2012-10-29 11:35:32 -02:00
evlist.c perf tools: Fix attributes for '{}' defined event groups 2012-11-14 16:51:50 -03:00
evlist.h perf evlist: Remove some unused methods 2012-10-03 11:52:07 -03:00
evsel.c perf tools: Fix 'disabled' attribute config for record command 2012-11-14 16:52:03 -03:00
evsel.h perf tools: Fix attributes for '{}' defined event groups 2012-11-14 16:51:50 -03:00
exec_cmd.c
exec_cmd.h
generate-cmdlist.sh perf tools: Convert to LIBELF_SUPPORT 2012-09-28 21:07:36 -03:00
header.c perf header: Add is_perf_magic() func 2012-10-29 11:56:59 -02:00
header.h perf header: Add is_perf_magic() func 2012-10-29 11:56:59 -02:00
help.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
help.h
hist.c perf hists: Initialize all of he->stat with zeroes 2012-11-14 16:50:47 -03:00
hist.h perf tools: Fix compile error on NO_NEWT=1 build 2012-11-14 16:50:58 -03:00
hweight.c
intlist.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
intlist.h perf tools: Introduce intlist 2012-08-03 10:42:25 -03:00
levenshtein.c
levenshtein.h
machine.c perf machine: Move more methods to machine.[ch] 2012-11-09 11:32:52 -03:00
machine.h perf machine: Move more methods to machine.[ch] 2012-11-09 11:32:52 -03:00
map.c perf machine: Move more methods to machine.[ch] 2012-11-09 11:32:52 -03:00
map.h perf machine: Move more methods to machine.[ch] 2012-11-09 11:32:52 -03:00
pager.c perf tools: Fix pager on minimal-install embedded systems 2012-05-30 15:10:39 -03:00
parse-events.c perf tools: Move parse_events error printing to parse_events_options 2012-10-28 11:29:52 -02:00
parse-events.h perf tests: Final cleanup for builtin-test move 2012-11-14 16:50:24 -03:00
parse-events.l perf tools: Add arbitary aliases and support names with - 2012-11-08 16:12:03 -03:00
parse-events.y perf tools: Add support to specify hw event as PMU event term 2012-10-24 10:41:27 +02:00
parse-options.c perf tools: Long option completion support for each subcommands 2012-10-02 18:36:44 -03:00
parse-options.h perf tools: Long option completion support for each subcommands 2012-10-02 18:36:44 -03:00
path.c perf tools: Convert to HAVE_STRLCPY 2012-10-02 18:36:24 -03:00
perf_regs.h perf tools: Convert to LIBUNWIND_SUPPORT 2012-10-02 17:56:01 -03:00
PERF-VERSION-GEN perf tools: Handle --version string generation on machines without git 2012-10-31 12:17:49 -02:00
pmu.c perf tests: Move pmu tests into separate object 2012-11-14 16:50:19 -03:00
pmu.h perf tests: Move pmu tests into separate object 2012-11-14 16:50:19 -03:00
pmu.l perf tools: Add perf pmu object to access pmu format definition 2012-03-16 14:29:35 -03:00
pmu.y perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
probe-event.c perf tools: remove sscanf extension %as 2012-09-24 11:49:31 -03:00
probe-event.h perf probe: Provide perf interface for uprobes 2012-05-11 13:58:17 -03:00
probe-finder.c perf probe: Add union member access support 2012-09-14 15:48:08 -03:00
probe-finder.h
pstack.c perf tools: Stop using 'self' in pstack 2012-11-14 16:50:38 -03:00
pstack.h
python-ext-sources Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-10-01 09:06:36 -07:00
python.c perf python: Initialize 'page_size' variable 2012-10-29 12:36:46 -02:00
quote.c
quote.h
rblist.c Account the nr_entries in rblist properly 2012-10-24 14:20:11 -02:00
rblist.h perf tools: Introducing rblist 2012-08-03 10:37:21 -03:00
run-command.c
run-command.h
session.c perf tools: Have the page size value available for all tools 2012-10-06 16:33:14 -03:00
session.h perf machine: Move more methods to machine.[ch] 2012-11-09 11:32:52 -03:00
setup.py perf python: Properly link with libtraceevent 2012-10-20 02:43:08 +02:00
sigchain.c
sigchain.h
sort.c perf tools: Remove warnings on JIT samples for srcline sort key 2012-10-16 13:05:38 -03:00
sort.h perf diff: Start moving to support matching more than two hists 2012-11-08 17:43:09 -03:00
stat.c perf stat: Move stats related code to util/stat.c 2012-09-17 13:10:03 -03:00
stat.h perf stat: Move stats related code to util/stat.c 2012-09-17 13:10:03 -03:00
strbuf.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
strbuf.h
strfilter.c
strfilter.h
string.c perf tools: Move strxfrchar into string object 2012-10-29 11:36:28 -02:00
strlist.c perf tools: Remove the node from rblist in strlist__remove 2012-09-05 17:36:42 -03:00
strlist.h perf tools: Change strlist to use the new rblist 2012-08-03 10:39:51 -03:00
svghelper.c
svghelper.h
symbol-elf.c perf symbols: Fix builds with NO_LIBELF set 2012-08-20 09:35:22 -03:00
symbol-minimal.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
symbol.c perf machine: Move more methods to machine.[ch] 2012-11-09 11:32:52 -03:00
symbol.h perf tests: Final cleanup for builtin-test move 2012-11-14 16:50:24 -03:00
sysfs.c perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
sysfs.h perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
target.c perf tools: Replace mempcpy with memcpy 2012-09-05 19:35:21 -03:00
target.h perf target: Add uses_mmap field 2012-05-17 12:32:54 -03:00
thread_map.c perf tools: fix thread_map__new_by_pid_str() memory leak in error path 2012-05-25 11:40:59 -03:00
thread_map.h perf tools: Fix thread map that is type pid_t 2012-04-11 17:38:50 -03:00
thread.c Merge branch 'perf/urgent' into perf/core 2012-10-24 10:20:57 +02:00
thread.h perf machine: Introduce find_thread method 2012-10-06 16:33:22 -03:00
tool.h
top.c perf evlist: Introduce evsel list accessors 2012-08-15 10:14:18 -03:00
top.h perf tools: fix missing winsize definition 2012-09-07 22:07:32 -03:00
trace-event-info.c perf: Have perf use the new libtraceevent.a library 2012-04-25 13:28:48 +02:00
trace-event-parse.c perf tools: remove sscanf extension %as 2012-09-24 11:49:31 -03:00
trace-event-read.c perf tools: Have the page size value available for all tools 2012-10-06 16:33:14 -03:00
trace-event-scripting.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
trace-event.h perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
types.h perf tools: Add union u64_swap type for swapping u64 data 2012-05-22 12:50:25 -03:00
unwind.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
unwind.h perf tools: Convert to LIBUNWIND_SUPPORT 2012-10-02 17:56:01 -03:00
usage.c perf target: Introduce perf_target__parse_uid() 2012-05-07 16:46:48 -03:00
util.c perf tools: Move hex2u64 into util object 2012-10-29 11:36:02 -02:00
util.h perf tools: Move strxfrchar into string object 2012-10-29 11:36:28 -02:00
values.c
values.h
vdso.c perf tools: Back [vdso] DSO with real data 2012-09-11 12:08:30 -03:00
vdso.h perf tools: Back [vdso] DSO with real data 2012-09-11 12:08:30 -03:00
wrapper.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
xyarray.c
xyarray.h