Messages in this thread | | | Date | Tue, 23 Oct 2012 14:34:21 +0200 | Subject | Re: [RFC PATCH 5/8] irq_work: Make self-IPIs optable | From | Frederic Weisbecker <> |
| |
2012/10/22 Peter Zijlstra <peterz@infradead.org>: > On Sat, 2012-10-20 at 12:22 -0400, Frederic Weisbecker wrote: >> + if (empty) { >> + /* >> + * If an IPI is requested, raise it right away. Otherwise wait >> + * for the next tick unless it's stopped. Now if the arch uses >> + * some other obscure way than IPI to raise an irq work, just raise >> + * and don't think further. >> + */ >> + if (ipi || !arch_irq_work_has_ipi() || tick_nohz_tick_stopped()) >> + arch_irq_work_raise(); >> + } >> preempt_enable(); >> } > > Doesn't this have a problem where we enqueue the first lazy and then one > with ipi? In that case it appears we won't send the IPI because the > queue wasn't empty.
Good point! I need to send an ipi in that case. Will fix on the next version.
Thanks.
| |