Re: CONFIG_PREEMPT_RCU in next/mmotm

From: Paul E. McKenney
Date: Sat Aug 08 2009 - 19:56:43 EST


On Sat, Aug 08, 2009 at 08:34:03PM +0100, Hugh Dickins wrote:
> Hi Paul,
>
> Is CONFIG_PREEMPT_RCU=y expected to be working in -next (or mmotm)?
>
> I ask because it appears to break down on PowerPC G5 when I try two
> "make -j20" kernel builds in parallel. The "filp" slab which usually
> contains a couple of thousand objects or so, jumps up to a couple of
> hundred thousand before the builds complete, and continues rising
> from then on - I think that's a sign of RCU in disgrace?
> And rebooting hangs thereafter.

That would indeed be bad.

> And I notice that include/linux/rcupreempt.h currently says:
> static inline void synchronize_rcu_expedited(void)
> {
> synchronize_rcu(); /* Placeholder for new rcupreempt implementation. */
> }
> which gives an impression of work in progress?

Yep, but I would be surprised if this was causing your problem. In fact,
I would be surprised if this function was being invoked. Then again,
I have been surprised more than once.

For whatever it is worth, with luck, include/linux/rcupreempt.h disappears
entirely at some point.

> CONFIG_PREEMPT_TREE=y seems okay on PowerPC; and when I briefly tried

CONFIG_TREE_RCU=y, you mean, right?

> CONFIG_PREEMPT_RCU=y on x86_64, it didn't show above symptoms there.

Interesting...

> I did try bisecting yesterday's linux-next git, but that led me to
>
> commit 8ca17c6082feee5841a7b0e91d00e18c3f85f063
> Merge: dafcc6e... 7256cf0...
> Author: Ingo Molnar <mingo@xxxxxxx>
> Date: Mon Aug 3 15:50:37 2009 +0200
>
> Merge branch 'core/rcu' into auto-sched-next
>
> rather than to any particular patch of yours which that merges:
> which seemed odd, but I'm not accustomed to bisecting next.

I honestly don't know how "git bisect" interacts with merges.

> Another odd thing is that mmotm .DATE=2009-07-30-05-01, the last
> I tried before Thursday's, showed no such symptoms: yet appears to
> contain all the larger RCU changes, just lacking some more recent
> on/offline race fixes. I didn't notice any likely difference
> between those mmotm trees down in arch/powerpc either.
>
> My guess is that there's some other issue which is triggering
> the RCU disgrace, but that is just a guess.

The one other issue I know of is one that apparently happens only on
one of Ingo's machines, which suddenly decides that it need not inform
RCU when onlining a CPU (at boot time).

But you seem to be making it past boot, and I would guess that you are
not doing any hotplug CPU operations, right?

> Config attached. Any suggestions?

/me scratches head... Will try some more CONFIG_PREEMPT_RCU testing
locally.

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/