Просмотр исходного кода

perf/x86: Fix Userspace RDPMC switch

The current code forgets to change the CR4 state on the current CPU.
Use on_each_cpu() instead of smp_call_function().

Reported-by: Mark Davies <junk@eslaf.co.uk>
Suggested-by: Mark Davies <junk@eslaf.co.uk>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: fweisbec@gmail.com
Link: http://lkml.kernel.org/n/tip-69efsat90ibhnd577zy3z9gh@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Peter Zijlstra 12 лет назад
Родитель
Сommit
0e9f2204cf
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      arch/x86/kernel/cpu/perf_event.c

+ 1 - 1
arch/x86/kernel/cpu/perf_event.c

@@ -1826,7 +1826,7 @@ static ssize_t set_attr_rdpmc(struct device *cdev,
 
 	if (!!val != !!x86_pmu.attr_rdpmc) {
 		x86_pmu.attr_rdpmc = !!val;
-		smp_call_function(change_rdpmc, (void *)val, 1);
+		on_each_cpu(change_rdpmc, (void *)val, 1);
 	}
 
 	return count;