From 3a17c7f06fe52ba5d4dfa221745320bef7a43294 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Tue, 2 Jun 2009 21:05:16 +1000 Subject: [PATCH] --- yaml --- r: 147595 b: refs/heads/master c: f38b082081bf69a06fffb8b32a175999e2320c5b h: refs/heads/master i: 147593: 5abdcf6e6d642811da3364b27d7ba51154c05b4f 147591: 254571b30a880c5c5e233ed8b52ce60ed29831b2 v: v3 --- [refs] | 2 +- trunk/kernel/perf_counter.c | 4 ++++ trunk/kernel/sched.c | 6 ++++-- 3 files changed, 9 insertions(+), 3 deletions(-) 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,