Messages in this thread |  | | | Date | Sun, 9 Aug 2009 14:06:05 +0100 (BST) | | From | Hugh Dickins <> | | Subject | Re: CONFIG_PREEMPT_RCU in next/mmotm |
| |
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
|  |