From: Ingo Molnar <mingo@elte.hu>
Date: Tue, 16 Dec 2008 23:43:10 +0000 (+0100)
Subject: perfcounters: use hw_event.disable flag
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a86ed50859d65a08beec9474df97b88438a996df;p=linux.git

perfcounters: use hw_event.disable flag

Impact: implement default-off counters

Make sure that counters that are created with counter.hw_event.disabled=1,
get created in disabled state.

They can be enabled via:

        prctl(PR_TASK_PERF_COUNTERS_ENABLE);

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---

diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c
index 16396e9406fa8..5431e790b5d60 100644
--- a/kernel/perf_counter.c
+++ b/kernel/perf_counter.c
@@ -1093,6 +1093,9 @@ perf_counter_alloc(struct perf_counter_hw_event *hw_event,
 	counter->group_leader		= group_leader;
 	counter->hw_ops			= NULL;
 
+	if (hw_event->disabled)
+		counter->state = PERF_COUNTER_STATE_OFF;
+
 	hw_ops = NULL;
 	if (!hw_event->raw && hw_event->type < 0)
 		hw_ops = sw_perf_counter_init(counter);