Subject: Re: Soft-Lockup/Race in networking in 2.6.31-rc1+195 ( possibly?caused by netem)

From: Jarek Poplawski <[email-masked]>
Date: Sat, 4 Jul 2009 00:56:40 +0200

On Fri, Jul 03, 2009 at 01:22:20PM -0700, David Miller wrote:
> From: Jarek Poplawski <[email-masked]>
> Date: Fri, 3 Jul 2009 12:03:01 +0000
> 
> > On Fri, Jul 03, 2009 at 01:26:21PM +0200, Andres Freund wrote:
> >> On Friday 03 July 2009 08:12:13 Jarek Poplawski wrote:
> >> > On Fri, Jul 03, 2009 at 03:31:31AM +0200, Andres Freund wrote:
> >> > ...
> >> >
> >> > > Ok. I finally see the light. I bisected the issue down to
> >> > > eea08f32adb3f97553d49a4f79a119833036000a :  timers: Logic to move non
> >> > > pinned timers
> >> > >
> >> > > Disabling timer migration like provided in the earlier commit stops the
> >> > > issue from occuring.
> >> > >
> >> > > That it is related to timers is sensible in the light of my findings,
> >> > > that I could trigger the issue only when using delay in netem - that is
> >> > > the codepath using qdisc_watchdog...
> >> >
> >> > Andres, thanks for your work and time. It saved me a lot of searching,
> >> > because I wasn't able to trigger this on my old box.
> >> Thanks. It allowed me to go through some of my remaining paperwork ;-)
> >> 
> >> Does anybody of you have an idea where the problem actually resides? 
> > 
> > Do you mean possibly broken timers are not enough?
> 
> Well, if you look at that commit the bisect pointed to Jarek, it is a
> change which starts causing a situation which never happened before.
> Namely, timers added on one cpu can be migrated and fire on another.
> 
> So this could be exposing races in the networking that technically
> always existed.

I'm not sure I get your point; could you give some example?
Actually, I've suspected races in timers code.

Jarek P.