diff --git a/[refs] b/[refs] index 461ee760d191..15ad9d1a2c23 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 38736f475071b80b66be28af7b44c854073699cc +refs/heads/master: 3ba35573ad9a149a3af19625b502679283382f6b diff --git a/trunk/kernel/cpu.c b/trunk/kernel/cpu.c index f17e9854c246..9e7ebde1331c 100644 --- a/trunk/kernel/cpu.c +++ b/trunk/kernel/cpu.c @@ -199,13 +199,14 @@ static int __ref take_cpu_down(void *_param) struct take_cpu_down_param *param = _param; int err; - raw_notifier_call_chain(&cpu_chain, CPU_DYING | param->mod, - param->hcpu); /* Ensure this CPU doesn't handle any more interrupts. */ err = __cpu_disable(); if (err < 0) return err; + raw_notifier_call_chain(&cpu_chain, CPU_DYING | param->mod, + param->hcpu); + /* Force idle task to run as soon as we yield: it should immediately notice cpu is offline and die quickly. */ sched_idle_next();