Re: CONFIG_PREEMPT_RCU in next/mmotm

From: Hugh Dickins
Date: Sun Aug 09 2009 - 09:06:35 EST


On Sun, 9 Aug 2009, Hugh Dickins wrote:
>
> filp 13343 objects:
>
> CPU last cur F M
> 0 1 0 0 0
> 1 0 0 0 0
> 2 -1 0 0 0
> 3 0 0 0 0
> ggp = 35124, state = waitzero

Interesting that rcu_try_flip_waitzero() doesn't see 1 + 0 + -1 + 0 == 0.

That's because rcu_cpu_online_map is 0x1 instead of the 0xf it should be.

Which is because I don't have CONFIG_HOTPLUG_CPU=y on that PPC machine
(unlike the x86s), and I think you've made some recent mods which
accidentally made the rcu cpu initialization dependent on hotplug
cpu notifiers? CONFIG_HOTPLUG_CPU=y and it works properly again.

And TREE_RCU doesn't use an rcu_cpu_online_map (though it does expect
some per-cpu initialization, but seems to get away without it).

So I think that's the mystery solved - I'll let you decide the right fix!

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