]> rtime.felk.cvut.cz Git - zynq/linux.git/blobdiff - kernel/time/tick-sched.c
rt, nohz_full: fix nohz_full for PREEMPT_RT_FULL
[zynq/linux.git] / kernel / time / tick-sched.c
index 59eaf1b274f262bfdd598018085c24111634ef6b..dfcd6f27e621b1c974582a5b26abb79dc808cc57 100644 (file)
@@ -227,7 +227,12 @@ void __tick_nohz_full_check(void)
 
 static void nohz_full_kick_work_func(struct irq_work *work)
 {
+       unsigned long flags;
+
+       /* ksoftirqd processes sirqs with interrupts enabled */
+       local_irq_save(flags);
        __tick_nohz_full_check();
+       local_irq_restore(flags);
 }
 
 static DEFINE_PER_CPU(struct irq_work, nohz_full_kick_work) = {