summary refs log tree commit diff
path: root/kernel/events/hw_breakpoint.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-06-20 17:57:08 +0200
committerIngo Molnar <mingo@kernel.org>2013-06-20 17:57:40 +0200
commitf070a4dba984975f6353c6f1d966da1a6ce4b86f (patch)
tree978170ab2b57564d54bb4dab3fc73057fa8dd084 /kernel/events/hw_breakpoint.c
parentf9134f36aed59ab55c0ab1a4618dd455f15aef5f (diff)
parentc790b0ad23f427c7522ffed264706238c57c007e (diff)
downloadlinux-f070a4dba984975f6353c6f1d966da1a6ce4b86f.tar.gz
Merge branch 'perf/urgent' into perf/core
Merge in two hw_breakpoint fixes, before applying another 5.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/events/hw_breakpoint.c')
-rw-r--r--kernel/events/hw_breakpoint.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/events/hw_breakpoint.c b/kernel/events/hw_breakpoint.c
index 966a241e8616..ef8ebe560949 100644
--- a/kernel/events/hw_breakpoint.c
+++ b/kernel/events/hw_breakpoint.c
@@ -120,7 +120,7 @@ static int task_bp_pinned(int cpu, struct perf_event *bp, enum bp_type_idx type)
 	list_for_each_entry(iter, &bp_task_head, hw.bp_list) {
 		if (iter->hw.bp_target == tsk &&
 		    find_slot_idx(iter) == type &&
-		    cpu == iter->cpu)
+		    (iter->cpu < 0 || cpu == iter->cpu))
 			count += hw_breakpoint_weight(iter);
 	}
 
@@ -149,7 +149,7 @@ fetch_bp_busy_slots(struct bp_busy_slots *slots, struct perf_event *bp,
 		return;
 	}
 
-	for_each_online_cpu(cpu) {
+	for_each_possible_cpu(cpu) {
 		unsigned int nr;
 
 		nr = per_cpu(nr_cpu_bp_pinned[type], cpu);
@@ -235,7 +235,7 @@ toggle_bp_slot(struct perf_event *bp, bool enable, enum bp_type_idx type,
 	if (cpu >= 0) {
 		toggle_bp_task_slot(bp, cpu, enable, type, weight);
 	} else {
-		for_each_online_cpu(cpu)
+		for_each_possible_cpu(cpu)
 			toggle_bp_task_slot(bp, cpu, enable, type, weight);
 	}