[PATCH V2] lockdep: suggest the fix for "lockdep bfs error:-1" on print_bfs_bug

Luis Claudio R. Goncalves posted 1 patch 1 month, 2 weeks ago
kernel/locking/lockdep.c | 3 +++
1 file changed, 3 insertions(+)
[PATCH V2] lockdep: suggest the fix for "lockdep bfs error:-1" on print_bfs_bug
Posted by Luis Claudio R. Goncalves 1 month, 2 weeks ago
When lockdep fails while performing the Breadth-first-search operation
due to lack of memory, hint that increasing the value of the config
switch LOCKDEP_CIRCULAR_QUEUE_BITS should fix the warning.

Preface the scary backtrace with the suggestion:

    [  163.849242] Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:
    [  163.849248] ------------[ cut here ]------------
    [  163.849250] lockdep bfs error:-1
    [  163.849263] WARNING: CPU: 24 PID: 2454 at kernel/locking/lockdep.c:2091 print_bfs_bug+0x27/0x40
    ...

Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Waiman Long <longman@redhat.com>
Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
---

Changes in v2:
  - removed extra space from the if condition.

 kernel/locking/lockdep.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 58c88220a478a..1cf6d9fdddc9c 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -2067,6 +2067,9 @@ static noinline void print_bfs_bug(int ret)
 	/*
 	 * Breadth-first-search failed, graph got corrupted?
 	 */
+	if (ret == BFS_EQUEUEFULL)
+		pr_warn("Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:\n");
+
 	WARN(1, "lockdep bfs error:%d\n", ret);
 }
 
-- 
2.45.2
Re: [PATCH V2] lockdep: suggest the fix for "lockdep bfs error:-1" on print_bfs_bug
Posted by Boqun Feng 1 month, 1 week ago
On Tue, Jul 30, 2024 at 02:45:47PM -0300, Luis Claudio R. Goncalves wrote:
> When lockdep fails while performing the Breadth-first-search operation
> due to lack of memory, hint that increasing the value of the config
> switch LOCKDEP_CIRCULAR_QUEUE_BITS should fix the warning.
> 
> Preface the scary backtrace with the suggestion:
> 
>     [  163.849242] Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:
>     [  163.849248] ------------[ cut here ]------------
>     [  163.849250] lockdep bfs error:-1
>     [  163.849263] WARNING: CPU: 24 PID: 2454 at kernel/locking/lockdep.c:2091 print_bfs_bug+0x27/0x40
>     ...
> 
> Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
> Reviewed-by: Waiman Long <longman@redhat.com>
> Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>

Queued at:

	https://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git/
	lockdep-for-tip

Thanks!

Regards,
Boqun

> ---
> 
> Changes in v2:
>   - removed extra space from the if condition.
> 
>  kernel/locking/lockdep.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> index 58c88220a478a..1cf6d9fdddc9c 100644
> --- a/kernel/locking/lockdep.c
> +++ b/kernel/locking/lockdep.c
> @@ -2067,6 +2067,9 @@ static noinline void print_bfs_bug(int ret)
>  	/*
>  	 * Breadth-first-search failed, graph got corrupted?
>  	 */
> +	if (ret == BFS_EQUEUEFULL)
> +		pr_warn("Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:\n");
> +
>  	WARN(1, "lockdep bfs error:%d\n", ret);
>  }
>  
> -- 
> 2.45.2
> 
Re: [PATCH V2] lockdep: suggest the fix for "lockdep bfs error:-1" on print_bfs_bug
Posted by Peter Zijlstra 1 month, 2 weeks ago
On Tue, Jul 30, 2024 at 02:45:47PM -0300, Luis Claudio R. Goncalves wrote:
> When lockdep fails while performing the Breadth-first-search operation
> due to lack of memory, hint that increasing the value of the config
> switch LOCKDEP_CIRCULAR_QUEUE_BITS should fix the warning.
> 
> Preface the scary backtrace with the suggestion:
> 
>     [  163.849242] Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:
>     [  163.849248] ------------[ cut here ]------------
>     [  163.849250] lockdep bfs error:-1
>     [  163.849263] WARNING: CPU: 24 PID: 2454 at kernel/locking/lockdep.c:2091 print_bfs_bug+0x27/0x40
>     ...
> 
> Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
> Reviewed-by: Waiman Long <longman@redhat.com>
> Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>

Thanks!

> ---
> 
> Changes in v2:
>   - removed extra space from the if condition.
> 
>  kernel/locking/lockdep.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> index 58c88220a478a..1cf6d9fdddc9c 100644
> --- a/kernel/locking/lockdep.c
> +++ b/kernel/locking/lockdep.c
> @@ -2067,6 +2067,9 @@ static noinline void print_bfs_bug(int ret)
>  	/*
>  	 * Breadth-first-search failed, graph got corrupted?
>  	 */
> +	if (ret == BFS_EQUEUEFULL)
> +		pr_warn("Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:\n");
> +
>  	WARN(1, "lockdep bfs error:%d\n", ret);
>  }
>  
> -- 
> 2.45.2
>
[tip: locking/core] lockdep: suggest the fix for "lockdep bfs error:-1" on print_bfs_bug
Posted by tip-bot2 for Luis Claudio R. Goncalves 1 month, 1 week ago
The following commit has been merged into the locking/core branch of tip:

Commit-ID:     7886a61ebc1f3998df5950299cbe17272bf32c59
Gitweb:        https://git.kernel.org/tip/7886a61ebc1f3998df5950299cbe17272bf32c59
Author:        Luis Claudio R. Goncalves <lgoncalv@redhat.com>
AuthorDate:    Tue, 30 Jul 2024 14:45:47 -03:00
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Mon, 05 Aug 2024 16:54:41 +02:00

lockdep: suggest the fix for "lockdep bfs error:-1" on print_bfs_bug

When lockdep fails while performing the Breadth-first-search operation
due to lack of memory, hint that increasing the value of the config
switch LOCKDEP_CIRCULAR_QUEUE_BITS should fix the warning.

Preface the scary backtrace with the suggestion:

    [  163.849242] Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:
    [  163.849248] ------------[ cut here ]------------
    [  163.849250] lockdep bfs error:-1
    [  163.849263] WARNING: CPU: 24 PID: 2454 at kernel/locking/lockdep.c:2091 print_bfs_bug+0x27/0x40
    ...

Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Waiman Long <longman@redhat.com>
Link: https://lkml.kernel.org/r/Zqkmy0lS-9Sw0M9j@uudg.org
---
 kernel/locking/lockdep.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 726b22c..fee21f3 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -2067,6 +2067,9 @@ static noinline void print_bfs_bug(int ret)
 	/*
 	 * Breadth-first-search failed, graph got corrupted?
 	 */
+	if (ret == BFS_EQUEUEFULL)
+		pr_warn("Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:\n");
+
 	WARN(1, "lockdep bfs error:%d\n", ret);
 }