linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* BUG: circular locking dependency detected
@ 2013-01-30 20:04 Russell King
  2013-01-30 20:06 ` Russell King
  2013-01-31 10:12 ` Sedat Dilek
  0 siblings, 2 replies; 20+ messages in thread
From: Russell King @ 2013-01-30 20:04 UTC (permalink / raw)
  To: linux-fbdev

This looks like a bug in the framebuffer/console layers.  Looks like
we have one path where we call the notifier list, and a called
function takes the console lock, and another path where we hold the
console lock while calling the notifier list.

===========================
[ INFO: possible circular locking dependency detected ]
3.8.0-rc4+ #656 Not tainted
-------------------------------------------------------
kworker/0:1/442 is trying to acquire lock:
 ((fb_notifier_list).rwsem){.+.+.+}, at: [<c004ea48>] __blocking_notifier_call_chain+0x34/0x68

but task is already holding lock:
 (console_lock){+.+.+.}, at: [<c01c2b48>] console_callback+0x14/0x138

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (console_lock){+.+.+.}:
       [<c006f36c>] __lock_acquire+0x1d20/0x1e80
       [<c006fa04>] lock_acquire+0x68/0x7c
       [<c002a894>] console_lock+0x5c/0x70
       [<c01c0adc>] register_con_driver+0x44/0x150
       [<c01c1158>] take_over_console+0x24/0x3b4
       [<c019d778>] fbcon_takeover+0x70/0xd4
       [<c01a3108>] fbcon_event_notify+0x7c8/0x818
       [<c004e538>] notifier_call_chain+0x4c/0x8c
       [<c004ea64>] __blocking_notifier_call_chain+0x50/0x68
       [<c004ea9c>] blocking_notifier_call_chain+0x20/0x28
       [<c0196e70>] fb_notifier_call_chain+0x20/0x28
       [<c0198194>] register_framebuffer+0x18c/0x238
       [<c01a6148>] clcdfb_probe+0x2b0/0x3c0
       [<c01a6da4>] amba_probe+0x88/0xa0
       [<c01d1730>] driver_probe_device+0x84/0x218
       [<c01d1960>] __driver_attach+0x9c/0xa0
       [<c01cfe5c>] bus_for_each_dev+0x5c/0x88
       [<c01d1398>] driver_attach+0x20/0x28
       [<c01d0ddc>] bus_add_driver+0xa4/0x244
       [<c01d1ed4>] driver_register+0x80/0x14c
       [<c01a6848>] amba_driver_register+0x48/0x5c
       [<c043aae0>] amba_clcdfb_init+0x28/0x3c
       [<c000868c>] do_one_initcall+0x44/0x1ac
       [<c0425928>] kernel_init_freeable+0x104/0x1c8
       [<c03242ec>] kernel_init+0x10/0xec
       [<c0014510>] ret_from_fork+0x14/0x24

-> #0 ((fb_notifier_list).rwsem){.+.+.+}:
       [<c006bc44>] print_circular_bug+0x84/0x2f0
       [<c006f458>] __lock_acquire+0x1e0c/0x1e80
       [<c006fa04>] lock_acquire+0x68/0x7c
       [<c032b3a0>] down_read+0x34/0x44
       [<c004ea48>] __blocking_notifier_call_chain+0x34/0x68
       [<c004ea9c>] blocking_notifier_call_chain+0x20/0x28
       [<c0196e70>] fb_notifier_call_chain+0x20/0x28
       [<c0197690>] fb_blank+0x40/0xac
       [<c019f874>] fbcon_blank+0x1f4/0x29c
       [<c01c09e0>] do_blank_screen+0x1b8/0x270
       [<c01c2ba8>] console_callback+0x74/0x138
       [<c00408c8>] process_one_work+0x1b4/0x4ec
       [<c0043610>] worker_thread+0x17c/0x4bc
       [<c004891c>] kthread+0xb0/0xbc
       [<c0014510>] ret_from_fork+0x14/0x24

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(console_lock);
                               lock((fb_notifier_list).rwsem);
                               lock(console_lock);
  lock((fb_notifier_list).rwsem);

 *** DEADLOCK ***

3 locks held by kworker/0:1/442:
 #0:  (events){.+.+..}, at: [<c0040854>] process_one_work+0x140/0x4ec
 #1:  (console_work){+.+...}, at: [<c0040854>] process_one_work+0x140/0x4ec
 #2:  (console_lock){+.+.+.}, at: [<c01c2b48>] console_callback+0x14/0x138

stack backtrace:
Backtrace:
[<c00185d8>] (dump_backtrace+0x0/0x10c) from [<c03294c8>] (dump_stack+0x18/0x1c)
 r6:c05323f0 r5:c0524800 r4:c05323f0 r3:cf8f6b80
[<c03294b0>] (dump_stack+0x0/0x1c) from [<c006bda4>] (print_circular_bug+0x1e4/0x2f0)
[<c006bbc0>] (print_circular_bug+0x0/0x2f0) from [<c006f458>] (__lock_acquire+0x1e0c/0x1e80)
[<c006d64c>] (__lock_acquire+0x0/0x1e80) from [<c006fa04>] (lock_acquire+0x68/0x7c)
[<c006f99c>] (lock_acquire+0x0/0x7c) from [<c032b3a0>] (down_read+0x34/0x44)
 r7:00000010 r6:cfb7dd20 r5:00000002 r4:c04715cc
[<c032b36c>] (down_read+0x0/0x44) from [<c004ea48>] (__blocking_notifier_call_chain+0x34/0x68)
 r5:ffffffff r4:c04715cc
[<c004ea14>] (__blocking_notifier_call_chain+0x0/0x68) from [<c004ea9c>] (blocking_notifier_call_chain+0x20/0x28)
 r7:cf0ffc00 r6:00000001 r5:cfb7dd20 r4:cfb5f800
[<c004ea7c>] (blocking_notifier_call_chain+0x0/0x28) from [<c0196e70>] (fb_notifier_call_chain+0x20/0x28)
[<c0196e50>] (fb_notifier_call_chain+0x0/0x28) from [<c0197690>] (fb_blank+0x40/0xac)
[<c0197650>] (fb_blank+0x0/0xac) from [<c019f874>] (fbcon_blank+0x1f4/0x29c)
 r6:00000001 r5:cf80a000 r4:cfb5f800
[<c019f680>] (fbcon_blank+0x0/0x29c) from [<c01c09e0>] (do_blank_screen+0x1b8/0x270)
[<c01c0828>] (do_blank_screen+0x0/0x270) from [<c01c2ba8>] (console_callback+0x74/0x138)
 r7:c0ba8640 r6:c0bac300 r5:c099a51c r4:c099a51c
[<c01c2b34>] (console_callback+0x0/0x138) from [<c00408c8>] (process_one_work+0x1b4/0x4ec)
 r6:c0bac300 r5:cf9489c0 r4:c0472e3c r3:c01c2b34
[<c0040714>] (process_one_work+0x0/0x4ec) from [<c0043610>] (worker_thread+0x17c/0x4bc)
[<c0043494>] (worker_thread+0x0/0x4bc) from [<c004891c>] (kthread+0xb0/0xbc)
[<c004886c>] (kthread+0x0/0xbc) from [<c0014510>] (ret_from_fork+0x14/0x24)
 r8:00000000 r7:00000000 r6:00000000 r5:c004886c r4:cf84dde8

--
Russell King

^ permalink raw reply	[flat|nested] 20+ messages in thread

* BUG: circular locking dependency detected
  2013-01-30 20:04 BUG: circular locking dependency detected Russell King
@ 2013-01-30 20:06 ` Russell King
  2013-01-30 21:52   ` Russell King
  2013-01-31 10:12 ` Sedat Dilek
  1 sibling, 1 reply; 20+ messages in thread
From: Russell King @ 2013-01-30 20:06 UTC (permalink / raw)
  To: Florian Tobias Schandinat, linux-fbdev, linux-kernel, akpm

This looks like a bug in the framebuffer/console layers.  Looks like
we have one path where we call the notifier list, and a called
function takes the console lock, and another path where we hold the
console lock while calling the notifier list.

===========================
[ INFO: possible circular locking dependency detected ]
3.8.0-rc4+ #656 Not tainted
-------------------------------------------------------
kworker/0:1/442 is trying to acquire lock:
 ((fb_notifier_list).rwsem){.+.+.+}, at: [<c004ea48>] __blocking_notifier_call_chain+0x34/0x68

but task is already holding lock:
 (console_lock){+.+.+.}, at: [<c01c2b48>] console_callback+0x14/0x138

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (console_lock){+.+.+.}:
       [<c006f36c>] __lock_acquire+0x1d20/0x1e80
       [<c006fa04>] lock_acquire+0x68/0x7c
       [<c002a894>] console_lock+0x5c/0x70
       [<c01c0adc>] register_con_driver+0x44/0x150
       [<c01c1158>] take_over_console+0x24/0x3b4
       [<c019d778>] fbcon_takeover+0x70/0xd4
       [<c01a3108>] fbcon_event_notify+0x7c8/0x818
       [<c004e538>] notifier_call_chain+0x4c/0x8c
       [<c004ea64>] __blocking_notifier_call_chain+0x50/0x68
       [<c004ea9c>] blocking_notifier_call_chain+0x20/0x28
       [<c0196e70>] fb_notifier_call_chain+0x20/0x28
       [<c0198194>] register_framebuffer+0x18c/0x238
       [<c01a6148>] clcdfb_probe+0x2b0/0x3c0
       [<c01a6da4>] amba_probe+0x88/0xa0
       [<c01d1730>] driver_probe_device+0x84/0x218
       [<c01d1960>] __driver_attach+0x9c/0xa0
       [<c01cfe5c>] bus_for_each_dev+0x5c/0x88
       [<c01d1398>] driver_attach+0x20/0x28
       [<c01d0ddc>] bus_add_driver+0xa4/0x244
       [<c01d1ed4>] driver_register+0x80/0x14c
       [<c01a6848>] amba_driver_register+0x48/0x5c
       [<c043aae0>] amba_clcdfb_init+0x28/0x3c
       [<c000868c>] do_one_initcall+0x44/0x1ac
       [<c0425928>] kernel_init_freeable+0x104/0x1c8
       [<c03242ec>] kernel_init+0x10/0xec
       [<c0014510>] ret_from_fork+0x14/0x24

-> #0 ((fb_notifier_list).rwsem){.+.+.+}:
       [<c006bc44>] print_circular_bug+0x84/0x2f0
       [<c006f458>] __lock_acquire+0x1e0c/0x1e80
       [<c006fa04>] lock_acquire+0x68/0x7c
       [<c032b3a0>] down_read+0x34/0x44
       [<c004ea48>] __blocking_notifier_call_chain+0x34/0x68
       [<c004ea9c>] blocking_notifier_call_chain+0x20/0x28
       [<c0196e70>] fb_notifier_call_chain+0x20/0x28
       [<c0197690>] fb_blank+0x40/0xac
       [<c019f874>] fbcon_blank+0x1f4/0x29c
       [<c01c09e0>] do_blank_screen+0x1b8/0x270
       [<c01c2ba8>] console_callback+0x74/0x138
       [<c00408c8>] process_one_work+0x1b4/0x4ec
       [<c0043610>] worker_thread+0x17c/0x4bc
       [<c004891c>] kthread+0xb0/0xbc
       [<c0014510>] ret_from_fork+0x14/0x24

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(console_lock);
                               lock((fb_notifier_list).rwsem);
                               lock(console_lock);
  lock((fb_notifier_list).rwsem);

 *** DEADLOCK ***

3 locks held by kworker/0:1/442:
 #0:  (events){.+.+..}, at: [<c0040854>] process_one_work+0x140/0x4ec
 #1:  (console_work){+.+...}, at: [<c0040854>] process_one_work+0x140/0x4ec
 #2:  (console_lock){+.+.+.}, at: [<c01c2b48>] console_callback+0x14/0x138

stack backtrace:
Backtrace:
[<c00185d8>] (dump_backtrace+0x0/0x10c) from [<c03294c8>] (dump_stack+0x18/0x1c)
 r6:c05323f0 r5:c0524800 r4:c05323f0 r3:cf8f6b80
[<c03294b0>] (dump_stack+0x0/0x1c) from [<c006bda4>] (print_circular_bug+0x1e4/0x2f0)
[<c006bbc0>] (print_circular_bug+0x0/0x2f0) from [<c006f458>] (__lock_acquire+0x1e0c/0x1e80)
[<c006d64c>] (__lock_acquire+0x0/0x1e80) from [<c006fa04>] (lock_acquire+0x68/0x7c)
[<c006f99c>] (lock_acquire+0x0/0x7c) from [<c032b3a0>] (down_read+0x34/0x44)
 r7:00000010 r6:cfb7dd20 r5:00000002 r4:c04715cc
[<c032b36c>] (down_read+0x0/0x44) from [<c004ea48>] (__blocking_notifier_call_chain+0x34/0x68)
 r5:ffffffff r4:c04715cc
[<c004ea14>] (__blocking_notifier_call_chain+0x0/0x68) from [<c004ea9c>] (blocking_notifier_call_chain+0x20/0x28)
 r7:cf0ffc00 r6:00000001 r5:cfb7dd20 r4:cfb5f800
[<c004ea7c>] (blocking_notifier_call_chain+0x0/0x28) from [<c0196e70>] (fb_notifier_call_chain+0x20/0x28)
[<c0196e50>] (fb_notifier_call_chain+0x0/0x28) from [<c0197690>] (fb_blank+0x40/0xac)
[<c0197650>] (fb_blank+0x0/0xac) from [<c019f874>] (fbcon_blank+0x1f4/0x29c)
 r6:00000001 r5:cf80a000 r4:cfb5f800
[<c019f680>] (fbcon_blank+0x0/0x29c) from [<c01c09e0>] (do_blank_screen+0x1b8/0x270)
[<c01c0828>] (do_blank_screen+0x0/0x270) from [<c01c2ba8>] (console_callback+0x74/0x138)
 r7:c0ba8640 r6:c0bac300 r5:c099a51c r4:c099a51c
[<c01c2b34>] (console_callback+0x0/0x138) from [<c00408c8>] (process_one_work+0x1b4/0x4ec)
 r6:c0bac300 r5:cf9489c0 r4:c0472e3c r3:c01c2b34
[<c0040714>] (process_one_work+0x0/0x4ec) from [<c0043610>] (worker_thread+0x17c/0x4bc)
[<c0043494>] (worker_thread+0x0/0x4bc) from [<c004891c>] (kthread+0xb0/0xbc)
[<c004886c>] (kthread+0x0/0xbc) from [<c0014510>] (ret_from_fork+0x14/0x24)
 r8:00000000 r7:00000000 r6:00000000 r5:c004886c r4:cf84dde8

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-30 20:06 ` Russell King
@ 2013-01-30 21:52   ` Russell King
  2013-01-30 22:07     ` Daniel Vetter
  0 siblings, 1 reply; 20+ messages in thread
From: Russell King @ 2013-01-30 21:52 UTC (permalink / raw)
  To: Florian Tobias Schandinat, linux-fbdev, linux-kernel, akpm,
	Daniel Vetter, Greg Kroah-Hartman

Also adding Greg and Daniel to this as Daniel introduced the lockdep
checking.

This looks extremely horrid to be to solve - the paths are rather deep
where the dependency occurs.  The two paths between the locks are:

console_lock+0x5c/0x70
register_con_driver+0x44/0x150
take_over_console+0x24/0x3b4
fbcon_takeover+0x70/0xd4
fbcon_event_notify+0x7c8/0x818
notifier_call_chain+0x4c/0x8c
__blocking_notifier_call_chain+0x50/0x68
blocking_notifier_call_chain+0x20/0x28

and

__blocking_notifier_call_chain+0x34/0x68
blocking_notifier_call_chain+0x20/0x28
fb_notifier_call_chain+0x20/0x28
fb_blank+0x40/0xac
fbcon_blank+0x1f4/0x29c
do_blank_screen+0x1b8/0x270
console_callback+0x74/0x138

On Wed, Jan 30, 2013 at 08:06:48PM +0000, Russell King wrote:
> This looks like a bug in the framebuffer/console layers.  Looks like
> we have one path where we call the notifier list, and a called
> function takes the console lock, and another path where we hold the
> console lock while calling the notifier list.
> 
> ===========================
> [ INFO: possible circular locking dependency detected ]
> 3.8.0-rc4+ #656 Not tainted
> -------------------------------------------------------
> kworker/0:1/442 is trying to acquire lock:
>  ((fb_notifier_list).rwsem){.+.+.+}, at: [<c004ea48>] __blocking_notifier_call_chain+0x34/0x68
> 
> but task is already holding lock:
>  (console_lock){+.+.+.}, at: [<c01c2b48>] console_callback+0x14/0x138
> 
> which lock already depends on the new lock.
> 
> 
> the existing dependency chain (in reverse order) is:
> 
> -> #1 (console_lock){+.+.+.}:
>        [<c006f36c>] __lock_acquire+0x1d20/0x1e80
>        [<c006fa04>] lock_acquire+0x68/0x7c
>        [<c002a894>] console_lock+0x5c/0x70
>        [<c01c0adc>] register_con_driver+0x44/0x150
>        [<c01c1158>] take_over_console+0x24/0x3b4
>        [<c019d778>] fbcon_takeover+0x70/0xd4
>        [<c01a3108>] fbcon_event_notify+0x7c8/0x818
>        [<c004e538>] notifier_call_chain+0x4c/0x8c
>        [<c004ea64>] __blocking_notifier_call_chain+0x50/0x68
>        [<c004ea9c>] blocking_notifier_call_chain+0x20/0x28
>        [<c0196e70>] fb_notifier_call_chain+0x20/0x28
>        [<c0198194>] register_framebuffer+0x18c/0x238
>        [<c01a6148>] clcdfb_probe+0x2b0/0x3c0
>        [<c01a6da4>] amba_probe+0x88/0xa0
>        [<c01d1730>] driver_probe_device+0x84/0x218
>        [<c01d1960>] __driver_attach+0x9c/0xa0
>        [<c01cfe5c>] bus_for_each_dev+0x5c/0x88
>        [<c01d1398>] driver_attach+0x20/0x28
>        [<c01d0ddc>] bus_add_driver+0xa4/0x244
>        [<c01d1ed4>] driver_register+0x80/0x14c
>        [<c01a6848>] amba_driver_register+0x48/0x5c
>        [<c043aae0>] amba_clcdfb_init+0x28/0x3c
>        [<c000868c>] do_one_initcall+0x44/0x1ac
>        [<c0425928>] kernel_init_freeable+0x104/0x1c8
>        [<c03242ec>] kernel_init+0x10/0xec
>        [<c0014510>] ret_from_fork+0x14/0x24
> 
> -> #0 ((fb_notifier_list).rwsem){.+.+.+}:
>        [<c006bc44>] print_circular_bug+0x84/0x2f0
>        [<c006f458>] __lock_acquire+0x1e0c/0x1e80
>        [<c006fa04>] lock_acquire+0x68/0x7c
>        [<c032b3a0>] down_read+0x34/0x44
>        [<c004ea48>] __blocking_notifier_call_chain+0x34/0x68
>        [<c004ea9c>] blocking_notifier_call_chain+0x20/0x28
>        [<c0196e70>] fb_notifier_call_chain+0x20/0x28
>        [<c0197690>] fb_blank+0x40/0xac
>        [<c019f874>] fbcon_blank+0x1f4/0x29c
>        [<c01c09e0>] do_blank_screen+0x1b8/0x270
>        [<c01c2ba8>] console_callback+0x74/0x138
>        [<c00408c8>] process_one_work+0x1b4/0x4ec
>        [<c0043610>] worker_thread+0x17c/0x4bc
>        [<c004891c>] kthread+0xb0/0xbc
>        [<c0014510>] ret_from_fork+0x14/0x24
> 
> other info that might help us debug this:
> 
>  Possible unsafe locking scenario:
> 
>        CPU0                    CPU1
>        ----                    ----
>   lock(console_lock);
>                                lock((fb_notifier_list).rwsem);
>                                lock(console_lock);
>   lock((fb_notifier_list).rwsem);
> 
>  *** DEADLOCK ***
> 
> 3 locks held by kworker/0:1/442:
>  #0:  (events){.+.+..}, at: [<c0040854>] process_one_work+0x140/0x4ec
>  #1:  (console_work){+.+...}, at: [<c0040854>] process_one_work+0x140/0x4ec
>  #2:  (console_lock){+.+.+.}, at: [<c01c2b48>] console_callback+0x14/0x138
> 
> stack backtrace:
> Backtrace:
> [<c00185d8>] (dump_backtrace+0x0/0x10c) from [<c03294c8>] (dump_stack+0x18/0x1c)
>  r6:c05323f0 r5:c0524800 r4:c05323f0 r3:cf8f6b80
> [<c03294b0>] (dump_stack+0x0/0x1c) from [<c006bda4>] (print_circular_bug+0x1e4/0x2f0)
> [<c006bbc0>] (print_circular_bug+0x0/0x2f0) from [<c006f458>] (__lock_acquire+0x1e0c/0x1e80)
> [<c006d64c>] (__lock_acquire+0x0/0x1e80) from [<c006fa04>] (lock_acquire+0x68/0x7c)
> [<c006f99c>] (lock_acquire+0x0/0x7c) from [<c032b3a0>] (down_read+0x34/0x44)
>  r7:00000010 r6:cfb7dd20 r5:00000002 r4:c04715cc
> [<c032b36c>] (down_read+0x0/0x44) from [<c004ea48>] (__blocking_notifier_call_chain+0x34/0x68)
>  r5:ffffffff r4:c04715cc
> [<c004ea14>] (__blocking_notifier_call_chain+0x0/0x68) from [<c004ea9c>] (blocking_notifier_call_chain+0x20/0x28)
>  r7:cf0ffc00 r6:00000001 r5:cfb7dd20 r4:cfb5f800
> [<c004ea7c>] (blocking_notifier_call_chain+0x0/0x28) from [<c0196e70>] (fb_notifier_call_chain+0x20/0x28)
> [<c0196e50>] (fb_notifier_call_chain+0x0/0x28) from [<c0197690>] (fb_blank+0x40/0xac)
> [<c0197650>] (fb_blank+0x0/0xac) from [<c019f874>] (fbcon_blank+0x1f4/0x29c)
>  r6:00000001 r5:cf80a000 r4:cfb5f800
> [<c019f680>] (fbcon_blank+0x0/0x29c) from [<c01c09e0>] (do_blank_screen+0x1b8/0x270)
> [<c01c0828>] (do_blank_screen+0x0/0x270) from [<c01c2ba8>] (console_callback+0x74/0x138)
>  r7:c0ba8640 r6:c0bac300 r5:c099a51c r4:c099a51c
> [<c01c2b34>] (console_callback+0x0/0x138) from [<c00408c8>] (process_one_work+0x1b4/0x4ec)
>  r6:c0bac300 r5:cf9489c0 r4:c0472e3c r3:c01c2b34
> [<c0040714>] (process_one_work+0x0/0x4ec) from [<c0043610>] (worker_thread+0x17c/0x4bc)
> [<c0043494>] (worker_thread+0x0/0x4bc) from [<c004891c>] (kthread+0xb0/0xbc)
> [<c004886c>] (kthread+0x0/0xbc) from [<c0014510>] (ret_from_fork+0x14/0x24)
>  r8:00000000 r7:00000000 r6:00000000 r5:c004886c r4:cf84dde8
> 
> -- 
> Russell King
>  Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
>  maintainer of:

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-30 21:52   ` Russell King
@ 2013-01-30 22:07     ` Daniel Vetter
  2013-01-30 22:19       ` Russell King
  0 siblings, 1 reply; 20+ messages in thread
From: Daniel Vetter @ 2013-01-30 22:07 UTC (permalink / raw)
  To: Russell King
  Cc: Florian Tobias Schandinat, linux-fbdev, linux-kernel, akpm,
	Greg Kroah-Hartman, dri-devel, Dave Airlie

On Wed, Jan 30, 2013 at 10:52 PM, Russell King <rmk@arm.linux.org.uk> wrote:
> Also adding Greg and Daniel to this as Daniel introduced the lockdep
> checking.
>
> This looks extremely horrid to be to solve - the paths are rather deep
> where the dependency occurs.  The two paths between the locks are:
>
> console_lock+0x5c/0x70
> register_con_driver+0x44/0x150
> take_over_console+0x24/0x3b4
> fbcon_takeover+0x70/0xd4
> fbcon_event_notify+0x7c8/0x818
> notifier_call_chain+0x4c/0x8c
> __blocking_notifier_call_chain+0x50/0x68
> blocking_notifier_call_chain+0x20/0x28
>
> and
>
> __blocking_notifier_call_chain+0x34/0x68
> blocking_notifier_call_chain+0x20/0x28
> fb_notifier_call_chain+0x20/0x28
> fb_blank+0x40/0xac
> fbcon_blank+0x1f4/0x29c
> do_blank_screen+0x1b8/0x270
> console_callback+0x74/0x138

You want Dave Airlie's pile of locking reworks, which fixes all
currently known offenders around console_lock and fb_notifier. Patches
won't go into 3.9 since it took a few rounds until they did not cause
regression by making these deadlocks easier to hit.

http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes

Long term solution would be to abolish the fb_notifier, at least for
the purpose of linking fbdevs up with the fbcon and just replace those
with direct function calls. But that requires that we no longer allow
fbdev drivers and the fbcon to be loaded in any arbitrary order. Or
just force fbcon to be built-in if enabled, imo the sane choice (no
one's bothering with config_vt=m either, after all).

Cheers, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-30 22:07     ` Daniel Vetter
@ 2013-01-30 22:19       ` Russell King
  2013-01-30 22:27         ` Daniel Vetter
  2013-01-30 23:52         ` Linus Torvalds
  0 siblings, 2 replies; 20+ messages in thread
From: Russell King @ 2013-01-30 22:19 UTC (permalink / raw)
  To: Daniel Vetter, Linus Torvalds
  Cc: Florian Tobias Schandinat, linux-fbdev, linux-kernel, akpm,
	Greg Kroah-Hartman, dri-devel, Dave Airlie

On Wed, Jan 30, 2013 at 11:07:16PM +0100, Daniel Vetter wrote:
> On Wed, Jan 30, 2013 at 10:52 PM, Russell King <rmk@arm.linux.org.uk> wrote:
> > Also adding Greg and Daniel to this as Daniel introduced the lockdep
> > checking.
> >
> > This looks extremely horrid to be to solve - the paths are rather deep
> > where the dependency occurs.  The two paths between the locks are:
> >
> > console_lock+0x5c/0x70
> > register_con_driver+0x44/0x150
> > take_over_console+0x24/0x3b4
> > fbcon_takeover+0x70/0xd4
> > fbcon_event_notify+0x7c8/0x818
> > notifier_call_chain+0x4c/0x8c
> > __blocking_notifier_call_chain+0x50/0x68
> > blocking_notifier_call_chain+0x20/0x28
> >
> > and
> >
> > __blocking_notifier_call_chain+0x34/0x68
> > blocking_notifier_call_chain+0x20/0x28
> > fb_notifier_call_chain+0x20/0x28
> > fb_blank+0x40/0xac
> > fbcon_blank+0x1f4/0x29c
> > do_blank_screen+0x1b8/0x270
> > console_callback+0x74/0x138
> 
> You want Dave Airlie's pile of locking reworks, which fixes all
> currently known offenders around console_lock and fb_notifier. Patches
> won't go into 3.9 since it took a few rounds until they did not cause
> regression by making these deadlocks easier to hit.
> 
> http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
> 
> Long term solution would be to abolish the fb_notifier, at least for
> the purpose of linking fbdevs up with the fbcon and just replace those
> with direct function calls. But that requires that we no longer allow
> fbdev drivers and the fbcon to be loaded in any arbitrary order. Or
> just force fbcon to be built-in if enabled, imo the sane choice (no
> one's bothering with config_vt=m either, after all).

So... what you seem to be telling me is that 3.9 is going to be a
release which issues lockdep complaints when the console blanks, and
you think that's acceptable?

Adding Linus and Andrew so they're aware of this issue...

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-30 22:19       ` Russell King
@ 2013-01-30 22:27         ` Daniel Vetter
  2013-01-30 23:52         ` Linus Torvalds
  1 sibling, 0 replies; 20+ messages in thread
From: Daniel Vetter @ 2013-01-30 22:27 UTC (permalink / raw)
  To: Russell King
  Cc: Linus Torvalds, Andrew Morton, Florian Tobias Schandinat,
	linux-fbdev, linux-kernel, Greg Kroah-Hartman, dri-devel,
	Dave Airlie

On Wed, Jan 30, 2013 at 11:19 PM, Russell King <rmk@arm.linux.org.uk> wrote:
> So... what you seem to be telling me is that 3.9 is going to be a
> release which issues lockdep complaints when the console blanks, and
> you think that's acceptable?
>
> Adding Linus and Andrew so they're aware of this issue...

Linus was the guy who shot down the patches for 3.9 since one of the
earlier iterations caused instant deadlocks - I've been pushing them
to merge them ;-)
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-30 22:19       ` Russell King
  2013-01-30 22:27         ` Daniel Vetter
@ 2013-01-30 23:52         ` Linus Torvalds
  2013-01-31  0:04           ` Dave Airlie
  2013-01-31  0:09           ` Russell King
  1 sibling, 2 replies; 20+ messages in thread
From: Linus Torvalds @ 2013-01-30 23:52 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Vetter, Andrew Morton, Florian Tobias Schandinat,
	linux-fbdev@vger.kernel.org, Linux Kernel Mailing List,
	Greg Kroah-Hartman, dri-devel, Dave Airlie

On Thu, Jan 31, 2013 at 9:19 AM, Russell King <rmk@arm.linux.org.uk> wrote:
>
> So... what you seem to be telling me is that 3.9 is going to be a
> release which issues lockdep complaints when the console blanks, and
> you think that's acceptable?
>
> Adding Linus and Andrew so they're aware of this issue...

Oh, we're extremely aware of it. And it's not a new issue, the locking
problem have apparently been around forever, although I'm not sure why
the lockdep splat itself started happening only recently.

They'll make it into 3.9, it's 3.8 that won't have them. The patches
initially caused way *worse* behavior than just a lockdep splat - they
caused actual hard lockups (and that was *after* the initial series of
fixes). That got fixed (hopefully for the last case!) fairly recently,
and I'm not willing to take the scary patch-series that has had
several problem cases.

              LInus

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-30 23:52         ` Linus Torvalds
@ 2013-01-31  0:04           ` Dave Airlie
  2013-01-31  0:13             ` Russell King
  2013-01-31  0:09           ` Russell King
  1 sibling, 1 reply; 20+ messages in thread
From: Dave Airlie @ 2013-01-31  0:04 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Russell King, Daniel Vetter, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, Greg Kroah-Hartman, dri-devel

On Thu, Jan 31, 2013 at 9:52 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Thu, Jan 31, 2013 at 9:19 AM, Russell King <rmk@arm.linux.org.uk> wrote:
>>
>> So... what you seem to be telling me is that 3.9 is going to be a
>> release which issues lockdep complaints when the console blanks, and
>> you think that's acceptable?
>>
>> Adding Linus and Andrew so they're aware of this issue...
>
> Oh, we're extremely aware of it. And it's not a new issue, the locking
> problem have apparently been around forever, although I'm not sure why
> the lockdep splat itself started happening only recently.
>
> They'll make it into 3.9, it's 3.8 that won't have them. The patches
> initially caused way *worse* behavior than just a lockdep splat - they
> caused actual hard lockups (and that was *after* the initial series of
> fixes). That got fixed (hopefully for the last case!) fairly recently,
> and I'm not willing to take the scary patch-series that has had
> several problem cases.

Well we didn't have any lock validation support before Daniel added it
a couple of kernels back,
so instead of hidden locking problems we've had from time began, we now have
lockdep detectable locking problems.

Dave.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-30 23:52         ` Linus Torvalds
  2013-01-31  0:04           ` Dave Airlie
@ 2013-01-31  0:09           ` Russell King
  1 sibling, 0 replies; 20+ messages in thread
From: Russell King @ 2013-01-31  0:09 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Daniel Vetter, Andrew Morton, Florian Tobias Schandinat,
	linux-fbdev@vger.kernel.org, Linux Kernel Mailing List,
	Greg Kroah-Hartman, dri-devel, Dave Airlie

On Thu, Jan 31, 2013 at 10:52:51AM +1100, Linus Torvalds wrote:
> On Thu, Jan 31, 2013 at 9:19 AM, Russell King <rmk@arm.linux.org.uk> wrote:
> >
> > So... what you seem to be telling me is that 3.9 is going to be a
> > release which issues lockdep complaints when the console blanks, and
> > you think that's acceptable?
> >
> > Adding Linus and Andrew so they're aware of this issue...
> 
> Oh, we're extremely aware of it. And it's not a new issue, the locking
> problem have apparently been around forever, although I'm not sure why
> the lockdep splat itself started happening only recently.

Well, the reason the splat started happening recently is because of:

commit daee779718a319ff9f83e1ba3339334ac650bb22
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sat Sep 22 19:52:11 2012 +0200

    console: implement lockdep support for console_lock
    
    Dave Airlie recently discovered a locking bug in the fbcon layer,
    where a timer_del_sync (for the blinking cursor) deadlocks with the
    timer itself, since both (want to) hold the console_lock:
    
    https://lkml.org/lkml/2012/8/21/36

which, if I'm looking at the git history right, appears to have come
in during the last merge window?

Yes, the locking may be wrong, but we've lived with that locking for
a long time without problem.

Can we at least silence these warnings by temporarily disabling the
lockdep tracking added by the above commit for this lock, until the
fixes for this are merged during the next merge window?

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31  0:04           ` Dave Airlie
@ 2013-01-31  0:13             ` Russell King
  2013-01-31  0:26               ` Linus Torvalds
  0 siblings, 1 reply; 20+ messages in thread
From: Russell King @ 2013-01-31  0:13 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Linus Torvalds, Daniel Vetter, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, Greg Kroah-Hartman, dri-devel

On Thu, Jan 31, 2013 at 10:04:05AM +1000, Dave Airlie wrote:
> On Thu, Jan 31, 2013 at 9:52 AM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > On Thu, Jan 31, 2013 at 9:19 AM, Russell King <rmk@arm.linux.org.uk> wrote:
> >>
> >> So... what you seem to be telling me is that 3.9 is going to be a
> >> release which issues lockdep complaints when the console blanks, and
> >> you think that's acceptable?
> >>
> >> Adding Linus and Andrew so they're aware of this issue...
> >
> > Oh, we're extremely aware of it. And it's not a new issue, the locking
> > problem have apparently been around forever, although I'm not sure why
> > the lockdep splat itself started happening only recently.
> >
> > They'll make it into 3.9, it's 3.8 that won't have them. The patches
> > initially caused way *worse* behavior than just a lockdep splat - they
> > caused actual hard lockups (and that was *after* the initial series of
> > fixes). That got fixed (hopefully for the last case!) fairly recently,
> > and I'm not willing to take the scary patch-series that has had
> > several problem cases.
> 
> Well we didn't have any lock validation support before Daniel added it
> a couple of kernels back,
> so instead of hidden locking problems we've had from time began, we now have
> lockdep detectable locking problems.

Which may or may not be a good thing depending how you look at it; it
means that once your kernel blanks, you get a lockdep dump.  At that
point you lose lockdep checking for everything else because lockdep
disables itself after the first dump.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31  0:13             ` Russell King
@ 2013-01-31  0:26               ` Linus Torvalds
  2013-01-31  5:40                 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 20+ messages in thread
From: Linus Torvalds @ 2013-01-31  0:26 UTC (permalink / raw)
  To: Russell King
  Cc: Dave Airlie, Daniel Vetter, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, Greg Kroah-Hartman, dri-devel

On Thu, Jan 31, 2013 at 11:13 AM, Russell King <rmk@arm.linux.org.uk> wrote:
>
> Which may or may not be a good thing depending how you look at it; it
> means that once your kernel blanks, you get a lockdep dump.  At that
> point you lose lockdep checking for everything else because lockdep
> disables itself after the first dump.

Fair enough, we may want to revert the lockdep checking for
console_lock, and make re-enabling it part of the patch-series that
fixes the locking.

Daniel/Dave? Does that sound reasonable?

              Linus

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31  0:26               ` Linus Torvalds
@ 2013-01-31  5:40                 ` Greg Kroah-Hartman
  2013-01-31  8:21                   ` Daniel Vetter
  0 siblings, 1 reply; 20+ messages in thread
From: Greg Kroah-Hartman @ 2013-01-31  5:40 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Russell King, Dave Airlie, Daniel Vetter, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, dri-devel

On Thu, Jan 31, 2013 at 11:26:53AM +1100, Linus Torvalds wrote:
> On Thu, Jan 31, 2013 at 11:13 AM, Russell King <rmk@arm.linux.org.uk> wrote:
> >
> > Which may or may not be a good thing depending how you look at it; it
> > means that once your kernel blanks, you get a lockdep dump.  At that
> > point you lose lockdep checking for everything else because lockdep
> > disables itself after the first dump.
> 
> Fair enough, we may want to revert the lockdep checking for
> console_lock, and make re-enabling it part of the patch-series that
> fixes the locking.
> 
> Daniel/Dave? Does that sound reasonable?

Reverting the patch is fine with me.  Just let me know so I can queue it
up again for 3.9.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31  5:40                 ` Greg Kroah-Hartman
@ 2013-01-31  8:21                   ` Daniel Vetter
  2013-01-31  9:21                     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 20+ messages in thread
From: Daniel Vetter @ 2013-01-31  8:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Linus Torvalds, Russell King, Dave Airlie, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, dri-devel

On Thu, Jan 31, 2013 at 6:40 AM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Thu, Jan 31, 2013 at 11:26:53AM +1100, Linus Torvalds wrote:
>> On Thu, Jan 31, 2013 at 11:13 AM, Russell King <rmk@arm.linux.org.uk> wrote:
>> >
>> > Which may or may not be a good thing depending how you look at it; it
>> > means that once your kernel blanks, you get a lockdep dump.  At that
>> > point you lose lockdep checking for everything else because lockdep
>> > disables itself after the first dump.
>>
>> Fair enough, we may want to revert the lockdep checking for
>> console_lock, and make re-enabling it part of the patch-series that
>> fixes the locking.
>>
>> Daniel/Dave? Does that sound reasonable?

Yeah, sounds good.

> Reverting the patch is fine with me.  Just let me know so I can queue it
> up again for 3.9.

Can you please also pick up the (currently) three locking fixups
around fbcon? Just so that we don't repeat the same fun where people
complain about lockdep splats, but the fixes are stuck somewhere. And
I guess Dave would be happy to not end up as fbcon maintainer ;-) He
has a git branch with them at
http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
though I have a small bikeshed on his last patch pending.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31  8:21                   ` Daniel Vetter
@ 2013-01-31  9:21                     ` Greg Kroah-Hartman
  2013-01-31  9:38                       ` Daniel Vetter
  2013-01-31 11:51                       ` Dave Airlie
  0 siblings, 2 replies; 20+ messages in thread
From: Greg Kroah-Hartman @ 2013-01-31  9:21 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Linus Torvalds, Russell King, Dave Airlie, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, dri-devel

On Thu, Jan 31, 2013 at 09:21:16AM +0100, Daniel Vetter wrote:
> On Thu, Jan 31, 2013 at 6:40 AM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > On Thu, Jan 31, 2013 at 11:26:53AM +1100, Linus Torvalds wrote:
> >> On Thu, Jan 31, 2013 at 11:13 AM, Russell King <rmk@arm.linux.org.uk> wrote:
> >> >
> >> > Which may or may not be a good thing depending how you look at it; it
> >> > means that once your kernel blanks, you get a lockdep dump.  At that
> >> > point you lose lockdep checking for everything else because lockdep
> >> > disables itself after the first dump.
> >>
> >> Fair enough, we may want to revert the lockdep checking for
> >> console_lock, and make re-enabling it part of the patch-series that
> >> fixes the locking.
> >>
> >> Daniel/Dave? Does that sound reasonable?
> 
> Yeah, sounds good.
> 
> > Reverting the patch is fine with me.  Just let me know so I can queue it
> > up again for 3.9.
> 
> Can you please also pick up the (currently) three locking fixups
> around fbcon? Just so that we don't repeat the same fun where people
> complain about lockdep splats, but the fixes are stuck somewhere. And
> I guess Dave would be happy to not end up as fbcon maintainer ;-) He
> has a git branch with them at
> http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
> though I have a small bikeshed on his last patch pending.

Care to just send me the patches through email when you all get done
bikesheding?  And for some reason I thought Andrew was going to handle
these fbcon patches, but if not, I'll be glad to take them.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31  9:21                     ` Greg Kroah-Hartman
@ 2013-01-31  9:38                       ` Daniel Vetter
  2013-01-31 11:51                       ` Dave Airlie
  1 sibling, 0 replies; 20+ messages in thread
From: Daniel Vetter @ 2013-01-31  9:38 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Linus Torvalds, Russell King, Dave Airlie, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, dri-devel

On Thu, Jan 31, 2013 at 10:21 AM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>> Can you please also pick up the (currently) three locking fixups
>> around fbcon? Just so that we don't repeat the same fun where people
>> complain about lockdep splats, but the fixes are stuck somewhere. And
>> I guess Dave would be happy to not end up as fbcon maintainer ;-) He
>> has a git branch with them at
>> http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
>> though I have a small bikeshed on his last patch pending.
>
> Care to just send me the patches through email when you all get done
> bikesheding?  And for some reason I thought Andrew was going to handle
> these fbcon patches, but if not, I'll be glad to take them.

Yeah, I'll annoy people again with patches until they're merged ;-)
Iirc Andrew picked them due to lack of an fbcon maintainer, and
everyone else likes to pass the bucket. Having looked through the code
a bit, imo understandable ...

btw, I've started to look into how we could fix the locking madness
around fbcon for good instead of with duct-tape [1]. I'll try to
discuss this with a few fbdev guys at fosdem (some at least should be
there). Certainly a long-term thing, but comments from whomever gets
volunteered to shepherd fbcon would be great.

Cheers, Daniel

1: http://www.mail-archive.com/dri-devel@lists.freedesktop.org/msg33535.html
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-30 20:04 BUG: circular locking dependency detected Russell King
  2013-01-30 20:06 ` Russell King
@ 2013-01-31 10:12 ` Sedat Dilek
  2013-01-31 10:20   ` Sedat Dilek
  1 sibling, 1 reply; 20+ messages in thread
From: Sedat Dilek @ 2013-01-31 10:12 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Dave Airlie, Linus Torvalds, Greg KH, DRI, linux-fbdev,
	linux-next, Stephen Rothwell, Andrew Morton, linux-mm,
	Takashi Iwai

[ CCing Linux-Next and MMOTM folks ]

Original posting from Daniel see [0]

[ QUOTE ]
On Thu, Jan 31, 2013 at 6:40 AM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Thu, Jan 31, 2013 at 11:26:53AM +1100, Linus Torvalds wrote:
>> On Thu, Jan 31, 2013 at 11:13 AM, Russell King <rmk@arm.linux.org.uk> wrote:
>> >
>> > Which may or may not be a good thing depending how you look at it; it
>> > means that once your kernel blanks, you get a lockdep dump.  At that
>> > point you lose lockdep checking for everything else because lockdep
>> > disables itself after the first dump.
>>
>> Fair enough, we may want to revert the lockdep checking for
>> console_lock, and make re-enabling it part of the patch-series that
>> fixes the locking.
>>
>> Daniel/Dave? Does that sound reasonable?

Yeah, sounds good.

> Reverting the patch is fine with me.  Just let me know so I can queue it
> up again for 3.9.

Can you please also pick up the (currently) three locking fixups
around fbcon? Just so that we don't repeat the same fun where people
complain about lockdep splats, but the fixes are stuck somewhere. And
I guess Dave would be happy to not end up as fbcon maintainer ;-) He
has a git branch with them at
http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
though I have a small bikeshed on his last patch pending.
-Daniel
[ /QUOTE ]

Did the 3rd patch go also to mmotm tree and got marked for Linux-Next inclusion?
Best would be to have it in mainline, finally.
Please, fix that for-3.8!

Thanks to all volunteers (Alan, Andrew, Takashi Iwai (Sorry, dunno
which is 1st and last name), Daniel and finally Dave) trying to get
this incredible pain-in-the-a** upstream :-).

- Sedat -

[0] http://marc.info/?l=dri-devel&m\x135962051326601&w=2
[1] http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
[2] http://cgit.freedesktop.org/~airlied/linux/commit/?hûcon-locking-fixes&id˜dfe36b5532576dedf41408d5bbd45fa31ec62d

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31 10:12 ` Sedat Dilek
@ 2013-01-31 10:20   ` Sedat Dilek
  0 siblings, 0 replies; 20+ messages in thread
From: Sedat Dilek @ 2013-01-31 10:20 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Dave Airlie, Linus Torvalds, DRI, linux-fbdev, linux-next,
	Stephen Rothwell, Andrew Morton, linux-mm, Takashi Iwai, gregkh,
	Borislav Petkov

On Thu, Jan 31, 2013 at 11:12 AM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
> [ CCing Linux-Next and MMOTM folks ]
>
> Original posting from Daniel see [0]
>
> [ QUOTE ]
> On Thu, Jan 31, 2013 at 6:40 AM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
>> On Thu, Jan 31, 2013 at 11:26:53AM +1100, Linus Torvalds wrote:
>>> On Thu, Jan 31, 2013 at 11:13 AM, Russell King <rmk@arm.linux.org.uk> wrote:
>>> >
>>> > Which may or may not be a good thing depending how you look at it; it
>>> > means that once your kernel blanks, you get a lockdep dump.  At that
>>> > point you lose lockdep checking for everything else because lockdep
>>> > disables itself after the first dump.
>>>
>>> Fair enough, we may want to revert the lockdep checking for
>>> console_lock, and make re-enabling it part of the patch-series that
>>> fixes the locking.
>>>
>>> Daniel/Dave? Does that sound reasonable?
>
> Yeah, sounds good.
>
>> Reverting the patch is fine with me.  Just let me know so I can queue it
>> up again for 3.9.
>
> Can you please also pick up the (currently) three locking fixups
> around fbcon? Just so that we don't repeat the same fun where people
> complain about lockdep splats, but the fixes are stuck somewhere. And
> I guess Dave would be happy to not end up as fbcon maintainer ;-) He
> has a git branch with them at
> http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
> though I have a small bikeshed on his last patch pending.
> -Daniel
> [ /QUOTE ]
>
> Did the 3rd patch go also to mmotm tree and got marked for Linux-Next inclusion?
> Best would be to have it in mainline, finally.
> Please, fix that for-3.8!
>
> Thanks to all volunteers (Alan, Andrew, Takashi Iwai (Sorry, dunno
> which is 1st and last name), Daniel and finally Dave) trying to get
> this incredible pain-in-the-a** upstream :-).
>
> - Sedat -
>
> [0] http://marc.info/?l=dri-devel&m\x135962051326601&w=2
> [1] http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
> [2] http://cgit.freedesktop.org/~airlied/linux/commit/?hûcon-locking-fixes&id˜dfe36b5532576dedf41408d5bbd45fa31ec62d

[ Adjusting outdated email-adresses, CC Borislav ]

What's with the patch from [3] in mmotm? For-3.8, no more needed?

- Sedat -

[3] http://ozlabs.org/~akpm/mmots/broken-out/drm-fb-helper-dont-sleep-for-screen-unblank-when-an-oopps-is-in-progress.patch

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31  9:21                     ` Greg Kroah-Hartman
  2013-01-31  9:38                       ` Daniel Vetter
@ 2013-01-31 11:51                       ` Dave Airlie
  2013-01-31 13:02                         ` Greg Kroah-Hartman
  2013-01-31 13:07                         ` Russell King
  1 sibling, 2 replies; 20+ messages in thread
From: Dave Airlie @ 2013-01-31 11:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Daniel Vetter, Linus Torvalds, Russell King, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, dri-devel

On Thu, Jan 31, 2013 at 8:21 PM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Thu, Jan 31, 2013 at 09:21:16AM +0100, Daniel Vetter wrote:
>> On Thu, Jan 31, 2013 at 6:40 AM, Greg Kroah-Hartman
>> <gregkh@linuxfoundation.org> wrote:
>> > On Thu, Jan 31, 2013 at 11:26:53AM +1100, Linus Torvalds wrote:
>> >> On Thu, Jan 31, 2013 at 11:13 AM, Russell King <rmk@arm.linux.org.uk> wrote:
>> >> >
>> >> > Which may or may not be a good thing depending how you look at it; it
>> >> > means that once your kernel blanks, you get a lockdep dump.  At that
>> >> > point you lose lockdep checking for everything else because lockdep
>> >> > disables itself after the first dump.
>> >>
>> >> Fair enough, we may want to revert the lockdep checking for
>> >> console_lock, and make re-enabling it part of the patch-series that
>> >> fixes the locking.
>> >>
>> >> Daniel/Dave? Does that sound reasonable?
>>
>> Yeah, sounds good.
>>
>> > Reverting the patch is fine with me.  Just let me know so I can queue it
>> > up again for 3.9.
>>
>> Can you please also pick up the (currently) three locking fixups
>> around fbcon? Just so that we don't repeat the same fun where people
>> complain about lockdep splats, but the fixes are stuck somewhere. And
>> I guess Dave would be happy to not end up as fbcon maintainer ;-) He
>> has a git branch with them at
>> http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
>> though I have a small bikeshed on his last patch pending.
>
> Care to just send me the patches through email when you all get done
> bikesheding?  And for some reason I thought Andrew was going to handle
> these fbcon patches, but if not, I'll be glad to take them.

I'll ship them via my tree at this point I think, since I now need to
queue a revert of the revert on top.

I have a few vgacon/fbcon fixes that I need to go in this cycle.

Dave.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31 11:51                       ` Dave Airlie
@ 2013-01-31 13:02                         ` Greg Kroah-Hartman
  2013-01-31 13:07                         ` Russell King
  1 sibling, 0 replies; 20+ messages in thread
From: Greg Kroah-Hartman @ 2013-01-31 13:02 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Daniel Vetter, Linus Torvalds, Russell King, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, dri-devel

On Thu, Jan 31, 2013 at 10:51:27PM +1100, Dave Airlie wrote:
> On Thu, Jan 31, 2013 at 8:21 PM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > On Thu, Jan 31, 2013 at 09:21:16AM +0100, Daniel Vetter wrote:
> >> On Thu, Jan 31, 2013 at 6:40 AM, Greg Kroah-Hartman
> >> <gregkh@linuxfoundation.org> wrote:
> >> > On Thu, Jan 31, 2013 at 11:26:53AM +1100, Linus Torvalds wrote:
> >> >> On Thu, Jan 31, 2013 at 11:13 AM, Russell King <rmk@arm.linux.org.uk> wrote:
> >> >> >
> >> >> > Which may or may not be a good thing depending how you look at it; it
> >> >> > means that once your kernel blanks, you get a lockdep dump.  At that
> >> >> > point you lose lockdep checking for everything else because lockdep
> >> >> > disables itself after the first dump.
> >> >>
> >> >> Fair enough, we may want to revert the lockdep checking for
> >> >> console_lock, and make re-enabling it part of the patch-series that
> >> >> fixes the locking.
> >> >>
> >> >> Daniel/Dave? Does that sound reasonable?
> >>
> >> Yeah, sounds good.
> >>
> >> > Reverting the patch is fine with me.  Just let me know so I can queue it
> >> > up again for 3.9.
> >>
> >> Can you please also pick up the (currently) three locking fixups
> >> around fbcon? Just so that we don't repeat the same fun where people
> >> complain about lockdep splats, but the fixes are stuck somewhere. And
> >> I guess Dave would be happy to not end up as fbcon maintainer ;-) He
> >> has a git branch with them at
> >> http://cgit.freedesktop.org/~airlied/linux/log/?hûcon-locking-fixes
> >> though I have a small bikeshed on his last patch pending.
> >
> > Care to just send me the patches through email when you all get done
> > bikesheding?  And for some reason I thought Andrew was going to handle
> > these fbcon patches, but if not, I'll be glad to take them.
> 
> I'll ship them via my tree at this point I think, since I now need to
> queue a revert of the revert on top.
> 
> I have a few vgacon/fbcon fixes that I need to go in this cycle.

Ok, I'll gladly let you handle this :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: BUG: circular locking dependency detected
  2013-01-31 11:51                       ` Dave Airlie
  2013-01-31 13:02                         ` Greg Kroah-Hartman
@ 2013-01-31 13:07                         ` Russell King
  1 sibling, 0 replies; 20+ messages in thread
From: Russell King @ 2013-01-31 13:07 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Greg Kroah-Hartman, Daniel Vetter, Linus Torvalds, Andrew Morton,
	Florian Tobias Schandinat, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, dri-devel

On Thu, Jan 31, 2013 at 10:51:27PM +1100, Dave Airlie wrote:
> I'll ship them via my tree at this point I think, since I now need to
> queue a revert of the revert on top.
> 
> I have a few vgacon/fbcon fixes that I need to go in this cycle.

Great, thanks.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2013-01-31 13:07 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-30 20:04 BUG: circular locking dependency detected Russell King
2013-01-30 20:06 ` Russell King
2013-01-30 21:52   ` Russell King
2013-01-30 22:07     ` Daniel Vetter
2013-01-30 22:19       ` Russell King
2013-01-30 22:27         ` Daniel Vetter
2013-01-30 23:52         ` Linus Torvalds
2013-01-31  0:04           ` Dave Airlie
2013-01-31  0:13             ` Russell King
2013-01-31  0:26               ` Linus Torvalds
2013-01-31  5:40                 ` Greg Kroah-Hartman
2013-01-31  8:21                   ` Daniel Vetter
2013-01-31  9:21                     ` Greg Kroah-Hartman
2013-01-31  9:38                       ` Daniel Vetter
2013-01-31 11:51                       ` Dave Airlie
2013-01-31 13:02                         ` Greg Kroah-Hartman
2013-01-31 13:07                         ` Russell King
2013-01-31  0:09           ` Russell King
2013-01-31 10:12 ` Sedat Dilek
2013-01-31 10:20   ` Sedat Dilek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).