]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - kernel/perf_event.c
perf: Fix CPU hotplug
[net-next-2.6.git] / kernel / perf_event.c
index 657555a5f30fc9399513e9538a205d2e8bf0fff0..db5b56064687e453c0df1cc118b975ea047bdcae 100644 (file)
@@ -5761,15 +5761,15 @@ perf_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu)
 {
        unsigned int cpu = (long)hcpu;
 
-       switch (action) {
+       switch (action & ~CPU_TASKS_FROZEN) {
 
        case CPU_UP_PREPARE:
-       case CPU_UP_PREPARE_FROZEN:
+       case CPU_DOWN_FAILED:
                perf_event_init_cpu(cpu);
                break;
 
+       case CPU_UP_CANCELED:
        case CPU_DOWN_PREPARE:
-       case CPU_DOWN_PREPARE_FROZEN:
                perf_event_exit_cpu(cpu);
                break;