lkml.org 
[lkml]   [2012]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: rcu_dyntick and suspicious RCU usage
On Wed, Jul 11, 2012 at 08:36:16PM +0800, Fengguang Wu wrote:
> On Wed, Jul 11, 2012 at 12:49:24AM -0700, Paul E. McKenney wrote:
> > On Tue, Jul 10, 2012 at 12:47:00PM +0800, Fengguang Wu wrote:
> > > Hi Paul,
> > >
> > > Fortunately this bug is bisectable and the first bad commit is:
> > >
> > > commit 9b2e4f1880b789be1f24f9684f7a54b90310b5c0
> > > Author: Paul E. McKenney <paul.mckenney@linaro.org>
> > > Date: Fri Sep 30 12:10:22 2011 -0700
> > >
> > > rcu: Track idleness independent of idle tasks
> >
> > OK, there is a problem in TINY_RCU's handling of dyntick-idle: it
> > traces while in idle. The confusion on my part was that in TREE_RCU,
> > the nesting and dyntick-idle indication are different, while in
> > TINY_RCU they are one and the same.
> >
> > Does the following patch help?
>
> Not exactly, but the error message is now changed to:

Then I think it may help to test the linux-next tree that contains
latest RCU fixes. And it somehow helped. There are no warnings in
the linux-next tree 1 or 2 days ago; there is a maybe unrelated warning
in today's linux-next tree.

[ 0.013241] Performance Events:
[ 0.014222] ------------[ cut here ]------------
[ 0.014975] WARNING: at /c/wfg/linux/kernel/workqueue.c:1217 worker_enter_idle+0x2fa/0x37c()
[ 0.016000] Hardware name: Bochs
[ 0.016000] Modules linked in:
[ 0.016000] Pid: 1, comm: swapper Not tainted 3.5.0-rc6-next-20120710+ #58
[ 0.016000] Call Trace:
[ 0.016000] [<c10374bc>] warn_slowpath_common+0xfc/0x13b
[ 0.016000] [<c106530f>] ? worker_enter_idle+0x2fa/0x37c
[ 0.016000] [<c106530f>] ? worker_enter_idle+0x2fa/0x37c
[ 0.016000] [<c1037539>] warn_slowpath_null+0x3e/0x4e
[ 0.016000] [<c106530f>] worker_enter_idle+0x2fa/0x37c
[ 0.016000] [<c143d177>] ? _raw_spin_lock_irq+0xc3/0xe5
[ 0.016000] [<c10653bb>] start_worker+0x2a/0x51
[ 0.016000] [<c174ec11>] init_workqueues+0x29f/0x656
[ 0.016000] [<c174e972>] ? usermodehelper_init+0xac/0xac
[ 0.016000] [<c1001145>] do_one_initcall+0xf7/0x272
[ 0.016000] [<c1124cb6>] ? trace_preempt_on+0x1c/0x7c
[ 0.016000] [<c173d60e>] kernel_init+0x1a4/0x4da
[ 0.016000] [<c173d46a>] ? start_kernel+0x8ff/0x8ff
[ 0.016000] [<c144a942>] kernel_thread_helper+0x6/0x10
[ 0.016000] ---[ end trace 50864a5de9c2f446 ]---
[ 0.020353] Testing tracer nop: PASSED

Both trees freeze after this point:

modprobe: FATAL: Could not load /lib/modules/3.5.0-rc6-next-20120710+/modules.dep: No such file or directory
^M
modprobe: FATAL: Could not load /lib/modules/3.5.0-rc6-next-20120710+/modules.dep: No such file or directory
^M
[ 31.223314] CPA self-test:
[ 31.224750] 4k 3069 large 61 gb 0 x 3130[c0000000-cfffc000] miss 0
[ 31.239798] 4k 65533 large 0 gb 0 x 65533[c0000000-cfffc000] miss 0
[ 31.249441] 4k 65533 large 0 gb 0 x 65533[c0000000-cfffc000] miss 0
[ 31.250402] ok.

So I'd better to base the test on one of your RCU branches..
Which branch would your recommend?

Thanks,
Fengguang


\
 
 \ /
  Last update: 2012-07-11 15:41    [W:0.106 / U:0.392 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site