aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/softirq.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 73217a9e2875..8de267790166 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -614,12 +614,16 @@ static int __cpuinit cpu_callback(struct notifier_block *nfb,
614 kthread_bind(per_cpu(ksoftirqd, hotcpu), 614 kthread_bind(per_cpu(ksoftirqd, hotcpu),
615 any_online_cpu(cpu_online_map)); 615 any_online_cpu(cpu_online_map));
616 case CPU_DEAD: 616 case CPU_DEAD:
617 case CPU_DEAD_FROZEN: 617 case CPU_DEAD_FROZEN: {
618 struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 };
619
618 p = per_cpu(ksoftirqd, hotcpu); 620 p = per_cpu(ksoftirqd, hotcpu);
619 per_cpu(ksoftirqd, hotcpu) = NULL; 621 per_cpu(ksoftirqd, hotcpu) = NULL;
622 sched_setscheduler(p, SCHED_FIFO, &param);
620 kthread_stop(p); 623 kthread_stop(p);
621 takeover_tasklets(hotcpu); 624 takeover_tasklets(hotcpu);
622 break; 625 break;
626 }
623#endif /* CONFIG_HOTPLUG_CPU */ 627#endif /* CONFIG_HOTPLUG_CPU */
624 } 628 }
625 return NOTIFY_OK; 629 return NOTIFY_OK;