Re: preempt rcu bug on s390

From: Paul E. McKenney
Date: Sat Feb 09 2008 - 09:07:33 EST


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