Messages in this thread |  | | Subject | Re: [RFC PATCH 5/8] irq_work: Make self-IPIs optable | | From | Peter Zijlstra <> | | Date | Mon, 22 Oct 2012 12:41:45 +0200 |
| |
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.
|  |