summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-06-11 14:57:55 +0200
committerIngo Molnar <mingo@elte.hu>2009-06-11 17:54:45 +0200
commitcca3f454a85ff42d426401bce7ac804541b2bd03 (patch)
tree743b60d71cd4babb65619556db4101595a5fc18b
parentperf_counter: Better align code (diff)
downloadlinux-cca3f454a85ff42d426401bce7ac804541b2bd03.tar.xz
linux-cca3f454a85ff42d426401bce7ac804541b2bd03.zip
perf_counter: Add counter->id to the throttle event
So as to be able to distuinguish between multiple counters. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--include/linux/perf_counter.h1
-rw-r--r--kernel/perf_counter.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h
index 1fa1a26cb1b3..6e133954e2e4 100644
--- a/include/linux/perf_counter.h
+++ b/include/linux/perf_counter.h
@@ -286,6 +286,7 @@ enum perf_event_type {
* struct {
* struct perf_event_header header;
* u64 time;
+ * u64 id;
* };
*/
PERF_EVENT_THROTTLE = 5,
diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c
index 8859b97390ec..ef5d8a5b2453 100644
--- a/kernel/perf_counter.c
+++ b/kernel/perf_counter.c
@@ -2950,13 +2950,15 @@ static void perf_log_throttle(struct perf_counter *counter, int enable)
struct {
struct perf_event_header header;
u64 time;
+ u64 id;
} throttle_event = {
.header = {
.type = PERF_EVENT_THROTTLE + 1,
.misc = 0,
.size = sizeof(throttle_event),
},
- .time = sched_clock(),
+ .time = sched_clock(),
+ .id = counter->id,
};
ret = perf_output_begin(&handle, counter, sizeof(throttle_event), 1, 0);