hc
2023-11-06 9df731a176aab8e03b984b681b1bea01ccff6644
kernel/lib/irq_poll.c
....@@ -37,6 +37,7 @@
3737 list_add_tail(&iop->list, this_cpu_ptr(&blk_cpu_iopoll));
3838 __raise_softirq_irqoff(IRQ_POLL_SOFTIRQ);
3939 local_irq_restore(flags);
40
+ preempt_check_resched_rt();
4041 }
4142 EXPORT_SYMBOL(irq_poll_sched);
4243
....@@ -72,6 +73,7 @@
7273 local_irq_save(flags);
7374 __irq_poll_complete(iop);
7475 local_irq_restore(flags);
76
+ preempt_check_resched_rt();
7577 }
7678 EXPORT_SYMBOL(irq_poll_complete);
7779
....@@ -96,6 +98,7 @@
9698 }
9799
98100 local_irq_enable();
101
+ preempt_check_resched_rt();
99102
100103 /* Even though interrupts have been re-enabled, this
101104 * access is safe because interrupts can only add new
....@@ -133,6 +136,7 @@
133136 __raise_softirq_irqoff(IRQ_POLL_SOFTIRQ);
134137
135138 local_irq_enable();
139
+ preempt_check_resched_rt();
136140 }
137141
138142 /**
....@@ -196,6 +200,7 @@
196200 this_cpu_ptr(&blk_cpu_iopoll));
197201 __raise_softirq_irqoff(IRQ_POLL_SOFTIRQ);
198202 local_irq_enable();
203
+ preempt_check_resched_rt();
199204
200205 return 0;
201206 }