[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080209113435.GA6915@osiris.boeblingen.de.ibm.com>
Date: Sat, 9 Feb 2008 12:34:35 +0100
From: Heiko Carstens <heiko.carstens@...ibm.com>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: Gautham R Shenoy <ego@...ibm.com>,
Dipankar Sarma <dipankar@...ibm.com>,
Steven Rostedt <srostedt@...hat.com>,
Ingo Molnar <mingo@...e.hu>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
linux-kernel@...r.kernel.org
Subject: preempt rcu bug on s390
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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists