Re: 2.6.26-rc9-git4: Reported regressions from 2.6.25

From: Paul E. McKenney
Date: Fri Aug 01 2008 - 17:13:44 EST


On Thu, Jul 10, 2008 at 01:41:57PM -0700, Paul E. McKenney wrote:
> On Thu, Jul 10, 2008 at 08:06:20PM +0200, Ingo Molnar wrote:
> >
> > * Ingo Molnar <mingo@xxxxxxx> wrote:
> >
> > > cool! :)
> > >
> > > (hm, could anyone please resend Nick's original mail? The original one
> > > is not in my lkml folder nor on lkml.org - only the quoted one.)
> >
> > ok, got the mail now now:
> >
> > | | Annoyed this wasn't a crazy obscure error in the algorithm I could
> > | | fix :) [...]
> >
> > Paul recently ran a formal proof against all sorts of RCU details (and
> > found and fixed a few obscure races that way that no-one ever
> > triggered), so i'd be quite surprised if we found anything in the core
> > algorithm :-)

Yeah, it was instead the simple stuff that I messed up... :-/

> > | | [...] I spent all day debugging it and had to make a special test
> > | | case (rcutorture didn't seem to trigger it), and a big RCU state
> > | | logging infrastructure to log millions of RCU state transitions and
> > | | events. Oh well.
> >
> > nice debugging!
>
> Indeed!!!
>
> > Acked-by: Ingo Molnar <mingo@xxxxxxx>
> >
> > i'm wondering why rcutorture didnt trigger it. I do run !HOTPLUG +
> > RCU_PREEMPT kernels and never saw this. Nor did Paul. That aspect is
> > weird.
>
> Turns out that my environment was silently re-enabling HOTPLUG_CPU, so I
> only -thought- I was testing !CPU_HOTPLUG. Once I forced it to really
> disable HOTPLUG_CPU (by manually also specifying CONFIG_SUSPEND=n and
> CONFIG_HIBERNATION=n), then rcutorture complained within 10 seconds.
>
> Sigh!!!

And Nick's patch gets rid of the rcutorture failures for me as well,
now that I can reproduce them. ;-)

Thanx, Paul
--
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/