Re: stop_machine lockup issue in 3.9.y.

From: Tejun Heo
Date: Wed Jun 05 2013 - 23:14:55 EST


Hello, Eric.

On Wed, Jun 05, 2013 at 06:34:52PM -0700, Eric Dumazet wrote:
> > Ingo, Thomas, we're seeing a stop_machine hanging because
> >
> > * All other CPUs entered IRQ disabled stage. Jiffies is not being
> > updated.
> >
> > * The last CPU get caught up executing softirq indefinitely. As
> > jiffies doesn't get updated, it never breaks out of softirq
> > handling. This is a deadlock. This CPU won't break out of softirq
> > handling unless jiffies is updated and other CPUs can't do anything
> > until this CPU enters the same stop_machine stage.
> >
> > Ben found out that breaking out of softirq handling after certain
> > number of repetitions makes the issue go away, which isn't a proper
> > fix but we might want anyway. What do you guys think?
> >
>
> Interesting....
>
> Before 3.9 and commit c10d73671ad30f5469
> ("softirq: reduce latencies") we used to limit the __do_softirq() loop
> to 10.

Ah, so, that's why it's showing up now. We probably have had the same
issue all along but it used to be masked by the softirq limiting. Do
you care to revive the 10 iterations limit so that it's limited by
both the count and timing? We do wanna find out why softirq is
spinning indefinitely tho.

Thanks.

--
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/