diff options
author | Ingo Molnar <mingo@kernel.org> | 2012-09-19 16:59:01 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-09-19 16:59:01 +0200 |
commit | bea8f35421628266658c14ea990d18b0969c4c0b (patch) | |
tree | 46c5d4616a003011a1237ed8d31592a662cf9720 /tools/perf/util/parse-events.c | |
parent | 26f45274afd938d82463816a12ec67448513294a (diff) | |
parent | 7ae92e744e3fb389afb1e24920ecda331d360c61 (diff) |
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
* Fix handling of unresolved samples when --symbols is used in 'report',
from Feng Tang.
* Add --symbols to 'script', similar to the one in 'report', from Feng Tang.
* Add union member access support to 'probe', from Hyeoncheol Lee.
* Make 'archive' work on Android, tweaking some of the utility parameters
used (tar, rm), from Irina Tirdea.
* Fixups to die() removal, from Namhyung Kim.
* Render fixes for the TUI, from Namhyung Kim.
* Don't enable annotation in non symbolic view, from Namhyung Kim.
* Fix pipe mode in 'report', from Namhyung Kim.
* Move related stats code from stat to util/, will be used by the 'stat'
kvm tool, from Xiao Guangrong.
* Add cpumask for uncore pmu, use it in 'stat', from Yan, Zheng.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/parse-events.c')
-rw-r--r-- | tools/perf/util/parse-events.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 44afcf40f79..bf5d033ee1b 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -239,8 +239,11 @@ const char *event_type(int type) return "unknown"; } -static int add_event(struct list_head **_list, int *idx, - struct perf_event_attr *attr, char *name) + + +static int __add_event(struct list_head **_list, int *idx, + struct perf_event_attr *attr, + char *name, struct cpu_map *cpus) { struct perf_evsel *evsel; struct list_head *list = *_list; @@ -260,6 +263,7 @@ static int add_event(struct list_head **_list, int *idx, return -ENOMEM; } + evsel->cpus = cpus; if (name) evsel->name = strdup(name); list_add_tail(&evsel->node, list); @@ -267,6 +271,12 @@ static int add_event(struct list_head **_list, int *idx, return 0; } +static int add_event(struct list_head **_list, int *idx, + struct perf_event_attr *attr, char *name) +{ + return __add_event(_list, idx, attr, name, NULL); +} + static int parse_aliases(char *str, const char *names[][PERF_EVSEL__MAX_ALIASES], int size) { int i, j; @@ -607,8 +617,8 @@ int parse_events_add_pmu(struct list_head **list, int *idx, if (perf_pmu__config(pmu, &attr, head_config)) return -EINVAL; - return add_event(list, idx, &attr, - pmu_event_name(head_config)); + return __add_event(list, idx, &attr, pmu_event_name(head_config), + pmu->cpus); } int parse_events__modifier_group(struct list_head *list, |