Re: locking/spinlock/debug: Remove spinlock lockup detection code

From: Greg KH
Date: Thu Aug 31 2017 - 02:03:02 EST


On Tue, Aug 29, 2017 at 03:07:08PM +0200, Geert Uytterhoeven wrote:
> Hi Greg,
>
> On Mon, Feb 20, 2017 at 10:48 PM, Linux Kernel Mailing List
> <linux-kernel@xxxxxxxxxxxxxxx> wrote:
> > Web: https://git.kernel.org/torvalds/c/bc88c10d7e6900916f5e1ba3829d66a9de92b633
> > Commit: bc88c10d7e6900916f5e1ba3829d66a9de92b633
> > Parent: f9af456a61ecfbef8233c5046a9e347c9b98ba05
> > Refname: refs/heads/master
> > Author: Waiman Long <longman@xxxxxxxxxx>
> > AuthorDate: Wed Feb 8 14:46:48 2017 -0500
> > Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> > CommitDate: Fri Feb 10 09:09:49 2017 +0100
> >
> > locking/spinlock/debug: Remove spinlock lockup detection code
> >
> > The current spinlock lockup detection code can sometimes produce false
> > positives because of the unfairness of the locking algorithm itself.
> >
> > So the lockup detection code is now removed. Instead, we are relying
> > on the NMI watchdog to detect potential lockup. We won't have lockup
> > detection if the watchdog isn't running.
> >
> > The commented-out read-write lock lockup detection code are also
> > removed.
> >
> > Signed-off-by: Waiman Long <longman@xxxxxxxxxx>
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Link: http://lkml.kernel.org/r/1486583208-11038-1-git-send-email-longman@xxxxxxxxxx
> > Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
>
> Can you please backport this commit to v4.9.x and/or ltsi?
>
> It fixes the following issue in 4.9.40-ltsi on r8a7740/armadillo:
>
> BUG: spinlock lockup suspected on CPU#0, swapper/1
> lock: lcdc0_device+0xa0/0x258, .magic: 00000000, .owner:
> <none>/-1, .owner_cpu: 0
> CPU: 0 PID: 1 Comm: swapper Not tainted
> 4.9.40-ltsi-armadillo-00939-gfc8b396897fd0712 #36
> Hardware name: Generic R8A7740 (Flattened Device Tree)
> [<c010d068>] (unwind_backtrace) from [<c010ab54>] (show_stack+0x10/0x14)
> [<c010ab54>] (show_stack) from [<c014fe9c>] (do_raw_spin_lock+0xd4/0x118)
> [<c014fe9c>] (do_raw_spin_lock) from [<c0357000>]
> (dev_pm_get_subsys_data+0x2c/0x9c)
> [<c0357000>] (dev_pm_get_subsys_data) from [<c0360978>]
> (genpd_add_device+0x38/0x1b4)
> [<c0360978>] (genpd_add_device) from [<c0360b74>]
> (of_genpd_add_device+0x38/0x50)
> [<c0360b74>] (of_genpd_add_device) from [<c0818ef8>]
> (board_staging_register_device+0xb0/0xe8)
> [<c0818ef8>] (board_staging_register_device) from [<c0818f54>]
> (board_staging_register_devices+0x24/0x2c)
> [<c0818f54>] (board_staging_register_devices) from [<c0818f88>]
> (runtime_board_check+0x2c/0x40)
> [<c0818f88>] (runtime_board_check) from [<c01016dc>]
> (do_one_initcall+0xac/0x154)
> [<c01016dc>] (do_one_initcall) from [<c0800ce8>]
> (kernel_init_freeable+0x104/0x1c4)
> [<c0800ce8>] (kernel_init_freeable) from [<c0522150>]
> (kernel_init+0x8/0x10c)
> [<c0522150>] (kernel_init) from [<c0106db0>] (ret_from_fork+0x14/0x24)
>

Now queud up, thanks.

greg k-h