Messages in this thread | | | Date | Sat, 9 Feb 2008 06:07:11 -0800 | From | "Paul E. McKenney" <> | Subject | Re: preempt rcu bug on s390 |
| |
On Sat, Feb 09, 2008 at 12:34:35PM +0100, Heiko Carstens wrote: > Using CONFIG_PREEMPT_RCU and CONFIG_NO_IDLE_HZ on s390 my system always > gets stuck when running with more than one cpu. > When booting with four cpus I get all four cpus caught withing cpu_idle > and not advancing anymore. However there is the init process which is > waitung for synchronize_rcu() to complete (lcrash output): > > STACK TRACE FOR TASK: 0xf84d968 (swapper) > > STACK: > 0 schedule+842 [0x36c956] > 1 schedule_timeout+172 [0x36d0e4] > 2 wait_for_common+204 [0x36c398] > 3 synchronize_rcu+76 [0x567bc] > 4 netlink_change_ngroups+150 [0x2b4302] > 5 genl_register_mc_group+256 [0x2b6174] > 6 genl_init+188 [0x534e44] > 7 kernel_init+444 [0x518334] > 8 kernel_thread_starter+6 [0x192a6] > > If I change the code so that timer ticks won't be disabled everything > runs fine. So my guess is that rcu_needs_cpu() doesn't do the right > thing for the rcu preemptible case. > > Kernel version is git head of today. > > Any ideas?
Does this tree have http://lkml.org/lkml/2008/1/29/208 applied?
If not, could you please check it out?
Thanx, Paul
| |