diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-05-08 12:52:23 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-05-08 14:36:58 -0400 |
commit | a85f61abe11a46553c4562e74edb27ebc782aeb7 (patch) | |
tree | 47a7fab94fe75dc75c0fdf8c590a6f41ef2be527 /kernel/perf_counter.c | |
parent | 3df5edad87a998273aa5a9a8c728c05d855ad00e (diff) |
perf_counter: add PERF_RECORD_CONFIG
Much like CONFIG_RECORD_GROUP records the hw_event.config to
identify the values, allow to record this for all counters.
[ Impact: extend perfcounter output record format ]
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
LKML-Reference: <20090508170028.923228280@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/perf_counter.c')
-rw-r--r-- | kernel/perf_counter.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c index f4883f1f47eb..c615f52aa408 100644 --- a/kernel/perf_counter.c +++ b/kernel/perf_counter.c | |||
@@ -1994,6 +1994,11 @@ static void perf_counter_output(struct perf_counter *counter, | |||
1994 | header.size += sizeof(u64); | 1994 | header.size += sizeof(u64); |
1995 | } | 1995 | } |
1996 | 1996 | ||
1997 | if (record_type & PERF_RECORD_CONFIG) { | ||
1998 | header.type |= PERF_RECORD_CONFIG; | ||
1999 | header.size += sizeof(u64); | ||
2000 | } | ||
2001 | |||
1997 | if (record_type & PERF_RECORD_GROUP) { | 2002 | if (record_type & PERF_RECORD_GROUP) { |
1998 | header.type |= PERF_RECORD_GROUP; | 2003 | header.type |= PERF_RECORD_GROUP; |
1999 | header.size += sizeof(u64) + | 2004 | header.size += sizeof(u64) + |
@@ -2029,6 +2034,9 @@ static void perf_counter_output(struct perf_counter *counter, | |||
2029 | if (record_type & PERF_RECORD_ADDR) | 2034 | if (record_type & PERF_RECORD_ADDR) |
2030 | perf_output_put(&handle, addr); | 2035 | perf_output_put(&handle, addr); |
2031 | 2036 | ||
2037 | if (record_type & PERF_RECORD_CONFIG) | ||
2038 | perf_output_put(&handle, counter->hw_event.config); | ||
2039 | |||
2032 | /* | 2040 | /* |
2033 | * XXX PERF_RECORD_GROUP vs inherited counters seems difficult. | 2041 | * XXX PERF_RECORD_GROUP vs inherited counters seems difficult. |
2034 | */ | 2042 | */ |