.. | .. |
---|
37 | 37 | list_add_tail(&iop->list, this_cpu_ptr(&blk_cpu_iopoll)); |
---|
38 | 38 | __raise_softirq_irqoff(IRQ_POLL_SOFTIRQ); |
---|
39 | 39 | local_irq_restore(flags); |
---|
| 40 | + preempt_check_resched_rt(); |
---|
40 | 41 | } |
---|
41 | 42 | EXPORT_SYMBOL(irq_poll_sched); |
---|
42 | 43 | |
---|
.. | .. |
---|
72 | 73 | local_irq_save(flags); |
---|
73 | 74 | __irq_poll_complete(iop); |
---|
74 | 75 | local_irq_restore(flags); |
---|
| 76 | + preempt_check_resched_rt(); |
---|
75 | 77 | } |
---|
76 | 78 | EXPORT_SYMBOL(irq_poll_complete); |
---|
77 | 79 | |
---|
.. | .. |
---|
96 | 98 | } |
---|
97 | 99 | |
---|
98 | 100 | local_irq_enable(); |
---|
| 101 | + preempt_check_resched_rt(); |
---|
99 | 102 | |
---|
100 | 103 | /* Even though interrupts have been re-enabled, this |
---|
101 | 104 | * access is safe because interrupts can only add new |
---|
.. | .. |
---|
133 | 136 | __raise_softirq_irqoff(IRQ_POLL_SOFTIRQ); |
---|
134 | 137 | |
---|
135 | 138 | local_irq_enable(); |
---|
| 139 | + preempt_check_resched_rt(); |
---|
136 | 140 | } |
---|
137 | 141 | |
---|
138 | 142 | /** |
---|
.. | .. |
---|
196 | 200 | this_cpu_ptr(&blk_cpu_iopoll)); |
---|
197 | 201 | __raise_softirq_irqoff(IRQ_POLL_SOFTIRQ); |
---|
198 | 202 | local_irq_enable(); |
---|
| 203 | + preempt_check_resched_rt(); |
---|
199 | 204 | |
---|
200 | 205 | return 0; |
---|
201 | 206 | } |
---|