Re: frequent lockups in 3.18rc4
From: Paul E. McKenney
Date: Tue Dec 02 2014 - 14:11:52 EST
On Tue, Dec 02, 2014 at 04:47:31PM -0200, Dâniel Fraga wrote:
> On Tue, 2 Dec 2014 10:42:02 -0800
> "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> > I was actually suggesting something a bit different. Instead of bisecting
> > by release, bisect by code. The procedure is as follows:
> > 1. I figure out some reliable way of making RCU allow preemption to
> > be disabled for some RCU read-side critical sections, but not for
> > others. I send you the patch, which has rcu_read_lock_test()
> > as well as rcu_read_lock().
> > 2. You build a kernel without my Kconfig hack, with my patch from
> > #1 above, and build a kernel with CONFIG_PREEMPT=y (which of
> > course implies CONFIG_TREE_PREEMPT_RCU=y, given that you are
> > building without my Kconfig hack).
> > 3. You make a list of all the rcu_read_lock() uses in the kernel
> > (or ask me to provide it). You change the rcu_read_lock()
> > calls in the first half of this list to rcu_read_lock_test().
> > If the kernel locks up as easily with this change as it did
> > in a stock CONFIG_PREEMPT=y CONFIG_TREE_PREEMPT_RCU=y kernel,
> > change half of the remaining rcu_read_lock() calls to
> > rcu_read_lock_test(). If the kernel is much more resistant
> > to lockup, change half of the rcu_read_lock_test() calls
> > back to rcu_read_lock().
> Ok Paul, I want to do everything I can to help you debug this.
> So can you provide me the list you mentioned at point 3 (or
> tell me how can I get it)? If you guide me through this, I can do
> whatever you need. Thanks!
OK. I need to know exactly what version of the Linux kernel you are
using. 3.18-rc7? (I am not too worried about exactly which version
you are using as long as I know which version it is.)
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/