Re: [PATCH] Fix lockup related to stop_machine being stuck in__do_softirq.

From: Tejun Heo
Date: Thu Jun 06 2013 - 16:44:40 EST


On Wed, Jun 05, 2013 at 09:29:54PM -0700, Eric Dumazet wrote:
> On Wed, 2013-06-05 at 21:25 -0700, greearb@xxxxxxxxxxxxxxx wrote:
> > From: Ben Greear <greearb@xxxxxxxxxxxxxxx>
>
> > diff --git a/kernel/softirq.c b/kernel/softirq.c
> > index 14d7758..f150ad6 100644
> > --- a/kernel/softirq.c
> > +++ b/kernel/softirq.c
> > @@ -204,6 +204,7 @@ EXPORT_SYMBOL(local_bh_enable_ip);
> > * should not be able to lock up the box.
>
> Could you update the comment ?
>
> I had the following :
>
> - * We restart softirq processing for at most 2 ms,
> - * and if need_resched() is not set.
> + * We restart softirq processing for at most MAX_SOFTIRQ_RESTART times,
> + * but break the loop if need_resched() is set or after 2 ms.

It'd be nice to briefly explain why both protections are necessary in
the comment and maybe cite this thread. Also, please cc Linus when
posting the next round and I think we still want to find out what's
going on with infinite softirq, I'll reply in the original thread.

Thanks a lot!

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/