Messages in this thread | | | Date | Fri, 9 Mar 2012 16:06:12 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH 4/4] genirq: Get rid of unnecessary IRQTF_DIED flag |
| |
Of course I can't ack this, but afaics the whole series looks fine.
Only one minor nit,
On 03/09, Alexander Gordeev wrote: > > --- a/kernel/irq/handle.c > +++ b/kernel/irq/handle.c > @@ -60,8 +60,8 @@ static void irq_wake_thread(struct irq_desc *desc, struct irqaction *action) > * device interrupt, so no irq storm is lurking. If the > * RUNTHREAD bit is already set, nothing to do. > */ > - if (test_bit(IRQTF_DIED, &action->thread_flags) || > - test_and_set_bit(IRQTF_RUNTHREAD, &action->thread_flags)) > + if (test_and_set_bit(IRQTF_RUNTHREAD, &action->thread_flags) || > + (action->thread->flags & PF_EXITING)) > return;
perhaps it makes sense to check PF_EXITING first, we do not want to set IRQTF_RUNTHREAD in this case. I think this doesn't really matter (and the check is obviously racy anyway), just looks a bit confusing.
Oleg.
| |