diff --git a/[refs] b/[refs] index a6df83acf848..c75ee3222c9a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 10a2825514a988225ac2e336c7a9502c4ca57c39 +refs/heads/master: f38b082081bf69a06fffb8b32a175999e2320c5b diff --git a/trunk/kernel/perf_counter.c b/trunk/kernel/perf_counter.c index df319c48c52b..8d2653f137e9 100644 --- a/trunk/kernel/perf_counter.c +++ b/trunk/kernel/perf_counter.c @@ -3902,8 +3902,12 @@ perf_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu) return NOTIFY_OK; } +/* + * This has to have a higher priority than migration_notifier in sched.c. + */ static struct notifier_block __cpuinitdata perf_cpu_nb = { .notifier_call = perf_cpu_notify, + .priority = 20, }; void __init perf_counter_init(void) diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index ad079f07c9c8..3226cc132e9f 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -7319,8 +7319,10 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) return NOTIFY_OK; } -/* Register at highest priority so that task migration (migrate_all_tasks) - * happens before everything else. +/* + * Register at high priority so that task migration (migrate_all_tasks) + * happens before everything else. This has to be lower priority than + * the notifier in the perf_counter subsystem, though. */ static struct notifier_block __cpuinitdata migration_notifier = { .notifier_call = migration_call,