Re: ARM: nommu: DEBUG_LOCKS_WARN_ON(!depth)

2013-12-09 Thread Axel Lin
2013/11/25 Axel Lin :
> I'm testing on a nommu platform (arm7tdmi SoC).
> Using current Linus' tree + out-of-tree patches for this SoC.
> I got below hang while executing ls (busybox) after boot.
>
> / # ls
> [   51.036191] [ cut here ]
> [   51.042242] WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3312 
> lock_set_class+0x5c8/0x660()
> [   51.051426] DEBUG_LOCKS_WARN_ON(!depth)
> [   51.055842] CPU: 0 PID: 1 Comm:  Not tainted 
> 3.13.0-rc1-00100-g4b061f7-dirty #1917
> [   51.065415] [] (unwind_backtrace+0x0/0xe0) from [] 
> (show_stack+0x10/0x14)
> [   51.075781] [] (show_stack+0x10/0x14) from [] 
> (warn_slowpath_common+0x58/0x78)
> [   51.086549] [] (warn_slowpath_common+0x58/0x78) from 
> [] (warn_slowpath_fmt+0x2c/0x3c)
> [   51.098162] [] (warn_slowpath_fmt+0x2c/0x3c) from [<00036d9c>] 
> (lock_set_class+0x5c8/0x660)
> [   50.934805] [<00036d9c>] (lock_set_class+0x5c8/0x660) from [<000367d4>] 
> (lock_set_class+0x0/0x660)
> [   50.945255] [<000367d4>] (lock_set_class+0x0/0x660) from [<>] (  
> (null))
> [   50.953242] ---[ end trace 7d1e4eb80001 ]---
>

Now test on top of linux-3.13-rc3.
I found I can hit this lockdep warning only when CONFIG_PREEMPT_NONE=y

1) With CONFIG_PREEMPT_NONE=y
executing ls (busybox) hang with above lockdep warning.
2) With CONFIG_PREEMPT_VOLUNTARY=y:
have "[sched_delayed] sched: RT throttling activated" in boot message.
executing ls (busybox) hang silently.
3) With CONFIG_PREEMPT=y:
executing ls (busybox) successfully and it's ok to execute other binary.

all the test with below configs:
CONFIG_PREEMPT_COUNT=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_TRACE_IRQFLAGS=y
CONFIG_STACKTRACE=y
CONFIG_DEBUG_BUGVERBOSE=y
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: ARM: nommu: DEBUG_LOCKS_WARN_ON(!depth)

2013-12-09 Thread Axel Lin
2013/11/25 Axel Lin axel@ingics.com:
 I'm testing on a nommu platform (arm7tdmi SoC).
 Using current Linus' tree + out-of-tree patches for this SoC.
 I got below hang while executing ls (busybox) after boot.

 / # ls
 [   51.036191] [ cut here ]
 [   51.042242] WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3312 
 lock_set_class+0x5c8/0x660()
 [   51.051426] DEBUG_LOCKS_WARN_ON(!depth)
 [   51.055842] CPU: 0 PID: 1 Comm:  Not tainted 
 3.13.0-rc1-00100-g4b061f7-dirty #1917
 [   51.065415] [c430] (unwind_backtrace+0x0/0xe0) from [ae58] 
 (show_stack+0x10/0x14)
 [   51.075781] [ae58] (show_stack+0x10/0x14) from [f7b0] 
 (warn_slowpath_common+0x58/0x78)
 [   51.086549] [f7b0] (warn_slowpath_common+0x58/0x78) from 
 [f814] (warn_slowpath_fmt+0x2c/0x3c)
 [   51.098162] [f814] (warn_slowpath_fmt+0x2c/0x3c) from [00036d9c] 
 (lock_set_class+0x5c8/0x660)
 [   50.934805] [00036d9c] (lock_set_class+0x5c8/0x660) from [000367d4] 
 (lock_set_class+0x0/0x660)
 [   50.945255] [000367d4] (lock_set_class+0x0/0x660) from [] (  
 (null))
 [   50.953242] ---[ end trace 7d1e4eb80001 ]---


Now test on top of linux-3.13-rc3.
I found I can hit this lockdep warning only when CONFIG_PREEMPT_NONE=y

1) With CONFIG_PREEMPT_NONE=y
executing ls (busybox) hang with above lockdep warning.
2) With CONFIG_PREEMPT_VOLUNTARY=y:
have [sched_delayed] sched: RT throttling activated in boot message.
executing ls (busybox) hang silently.
3) With CONFIG_PREEMPT=y:
executing ls (busybox) successfully and it's ok to execute other binary.

all the test with below configs:
CONFIG_PREEMPT_COUNT=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_TRACE_IRQFLAGS=y
CONFIG_STACKTRACE=y
CONFIG_DEBUG_BUGVERBOSE=y
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


ARM: nommu: DEBUG_LOCKS_WARN_ON(!depth)

2013-11-24 Thread Axel Lin
I'm testing on a nommu platform (arm7tdmi SoC).
Using current Linus' tree + out-of-tree patches for this SoC.
I got below hang while executing ls (busybox) after boot.

/ # ls
[   51.036191] [ cut here ]
[   51.042242] WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3312 
lock_set_class+0x5c8/0x660()
[   51.051426] DEBUG_LOCKS_WARN_ON(!depth)
[   51.055842] CPU: 0 PID: 1 Comm:  Not tainted 3.13.0-rc1-00100-g4b061f7-dirty 
#1917
[   51.065415] [] (unwind_backtrace+0x0/0xe0) from [] 
(show_stack+0x10/0x14)
[   51.075781] [] (show_stack+0x10/0x14) from [] 
(warn_slowpath_common+0x58/0x78)
[   51.086549] [] (warn_slowpath_common+0x58/0x78) from [] 
(warn_slowpath_fmt+0x2c/0x3c)
[   51.098162] [] (warn_slowpath_fmt+0x2c/0x3c) from [<00036d9c>] 
(lock_set_class+0x5c8/0x660)
[   50.934805] [<00036d9c>] (lock_set_class+0x5c8/0x660) from [<000367d4>] 
(lock_set_class+0x0/0x660)
[   50.945255] [<000367d4>] (lock_set_class+0x0/0x660) from [<>] (  
(null))
[   50.953242] ---[ end trace 7d1e4eb80001 ]---

BTW, I also hit below hangup once a few days ago (just before 3.13-rc1 release).

below is my timers config:
#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set

/ # ls /bin
[   81.272231] BUG: scheduling while atomic: ls/33/0x0037a001
[   81.284450] 2 locks held by ls/33:
[   81.292221]  #0: [   81.292221]  #0:  ( 
(>i_mutex_dir_key>i_mutex_dir_key){+.+.+.}){+.+.+.}[   81.304370] 
BUG: recent printk recursion!
[   81.304370] BUG: recent printk recursion!
, at: , at: [<0006c9c8>] lookup_slow+0x30/0xa0
[<0006c9c8>] lookup_slow+0x30/0xa0
[   81.323810]  #1: [   81.323810]  #1:  ( 
(>s_type->i_lock_key>s_type->i_lock_key#13#13){+.+...}){+.+...}, at: , 
at: [<000764cc>] d_instantia8
[<000764cc>] d_instantiate+0x28/0x48
[   81.345069] irq event stamp: 3753
[   81.352717] hardirqs last  enabled at (3753): [   81.352717] hardirqs last  
enabled at (3753): [<002943dc>] _raw_spin_unlock_irqrestore+0x3c/0x5c
[<002943dc>] _raw_spin_unlock_irqrestore+0x3c/0x5c
[   81.372183] hardirqs last disabled at (3752): [   81.372183] hardirqs last 
disabled at (3752): [<00294254>] _raw_spin_lock_irqsave+0x1c/0x68
[<00294254>] _raw_spin_lock_irqsave+0x1c/0x68
[   81.216282] softirqs last  enabled at (3712): [   81.216282] softirqs last  
enabled at (3712): [<000127ec>] __do_softirq+0x190/0x20c
[<000127ec>] __do_softirq+0x190/0x20c
[   81.233554] softirqs last disabled at (3705): [   81.233554] softirqs last 
disabled at (3705): [<00012c1c>] irq_exit+0x90/0xb8
[<00012c1c>] irq_exit+0x90/0xb8
[   81.250354] CPU: 0 PID: 0 Comm: ���z Tainted: GW
3.12.0-11171-g6adc047-dirty #1911
[   81.270570] [] (unwind_backtrace+0x0/0xe0) from [] 
(show_stack+0x10/0x14)
[   81.290277] [] (show_stack+0x10/0x14) from [<0028dd8c>] 
(__schedule_bug+0x5c/0x74)
[   81.309935] [<0028dd8c>] (__schedule_bug+0x5c/0x74) from [<00290c00>] 
(__schedule+0x58/0x38c)
[   81.329818] [<00290c00>] (__schedule+0x58/0x38c) from [<002908f4>] 
(do_nanosleep+0x78/0xd0)
[   81.349258] [<002908f4>] (do_nanosleep+0x78/0xd0) from [<00029418>] 
(hrtimer_nanosleep+0x88/0x10c)
[   81.369874] [<00029418>] (hrtimer_nanosleep+0x88/0x10c) from [<00025680>] 
(common_nsleep+0x0/0x20)

Thanks for any comments and advices.
Regards,
Axel


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


ARM: nommu: DEBUG_LOCKS_WARN_ON(!depth)

2013-11-24 Thread Axel Lin
I'm testing on a nommu platform (arm7tdmi SoC).
Using current Linus' tree + out-of-tree patches for this SoC.
I got below hang while executing ls (busybox) after boot.

/ # ls
[   51.036191] [ cut here ]
[   51.042242] WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3312 
lock_set_class+0x5c8/0x660()
[   51.051426] DEBUG_LOCKS_WARN_ON(!depth)
[   51.055842] CPU: 0 PID: 1 Comm:  Not tainted 3.13.0-rc1-00100-g4b061f7-dirty 
#1917
[   51.065415] [c430] (unwind_backtrace+0x0/0xe0) from [ae58] 
(show_stack+0x10/0x14)
[   51.075781] [ae58] (show_stack+0x10/0x14) from [f7b0] 
(warn_slowpath_common+0x58/0x78)
[   51.086549] [f7b0] (warn_slowpath_common+0x58/0x78) from [f814] 
(warn_slowpath_fmt+0x2c/0x3c)
[   51.098162] [f814] (warn_slowpath_fmt+0x2c/0x3c) from [00036d9c] 
(lock_set_class+0x5c8/0x660)
[   50.934805] [00036d9c] (lock_set_class+0x5c8/0x660) from [000367d4] 
(lock_set_class+0x0/0x660)
[   50.945255] [000367d4] (lock_set_class+0x0/0x660) from [] (  
(null))
[   50.953242] ---[ end trace 7d1e4eb80001 ]---

BTW, I also hit below hangup once a few days ago (just before 3.13-rc1 release).

below is my timers config:
#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set

/ # ls /bin
[   81.272231] BUG: scheduling while atomic: ls/33/0x0037a001
[   81.284450] 2 locks held by ls/33:
[   81.292221]  #0: [   81.292221]  #0:  ( 
(type-i_mutex_dir_keytype-i_mutex_dir_key){+.+.+.}){+.+.+.}[   81.304370] 
BUG: recent printk recursion!
[   81.304370] BUG: recent printk recursion!
, at: , at: [0006c9c8] lookup_slow+0x30/0xa0
[0006c9c8] lookup_slow+0x30/0xa0
[   81.323810]  #1: [   81.323810]  #1:  ( 
(sb-s_type-i_lock_keysb-s_type-i_lock_key#13#13){+.+...}){+.+...}, at: , 
at: [000764cc] d_instantia8
[000764cc] d_instantiate+0x28/0x48
[   81.345069] irq event stamp: 3753
[   81.352717] hardirqs last  enabled at (3753): [   81.352717] hardirqs last  
enabled at (3753): [002943dc] _raw_spin_unlock_irqrestore+0x3c/0x5c
[002943dc] _raw_spin_unlock_irqrestore+0x3c/0x5c
[   81.372183] hardirqs last disabled at (3752): [   81.372183] hardirqs last 
disabled at (3752): [00294254] _raw_spin_lock_irqsave+0x1c/0x68
[00294254] _raw_spin_lock_irqsave+0x1c/0x68
[   81.216282] softirqs last  enabled at (3712): [   81.216282] softirqs last  
enabled at (3712): [000127ec] __do_softirq+0x190/0x20c
[000127ec] __do_softirq+0x190/0x20c
[   81.233554] softirqs last disabled at (3705): [   81.233554] softirqs last 
disabled at (3705): [00012c1c] irq_exit+0x90/0xb8
[00012c1c] irq_exit+0x90/0xb8
[   81.250354] CPU: 0 PID: 0 Comm: ���z Tainted: GW
3.12.0-11171-g6adc047-dirty #1911
[   81.270570] [c430] (unwind_backtrace+0x0/0xe0) from [ae58] 
(show_stack+0x10/0x14)
[   81.290277] [ae58] (show_stack+0x10/0x14) from [0028dd8c] 
(__schedule_bug+0x5c/0x74)
[   81.309935] [0028dd8c] (__schedule_bug+0x5c/0x74) from [00290c00] 
(__schedule+0x58/0x38c)
[   81.329818] [00290c00] (__schedule+0x58/0x38c) from [002908f4] 
(do_nanosleep+0x78/0xd0)
[   81.349258] [002908f4] (do_nanosleep+0x78/0xd0) from [00029418] 
(hrtimer_nanosleep+0x88/0x10c)
[   81.369874] [00029418] (hrtimer_nanosleep+0x88/0x10c) from [00025680] 
(common_nsleep+0x0/0x20)

Thanks for any comments and advices.
Regards,
Axel


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/