kernel/block/blk-softirq.c
.. .. @@ -53,6 +53,7 @@ 53 53 raise_softirq_irqoff(BLOCK_SOFTIRQ); 54 54 55 55 local_irq_restore(flags); 56 + preempt_check_resched_rt();56 57 } 57 58 58 59 /* .. .. @@ -91,6 +92,7 @@ 91 92 this_cpu_ptr(&blk_cpu_done)); 92 93 raise_softirq_irqoff(BLOCK_SOFTIRQ); 93 94 local_irq_enable(); 95 + preempt_check_resched_rt();94 96 95 97 return 0; 96 98 } .. .. @@ -143,6 +145,7 @@ 143 145 goto do_local; 144 146 145 147 local_irq_restore(flags); 148 + preempt_check_resched_rt();146 149 } 147 150 EXPORT_SYMBOL(__blk_complete_request); 148 151