linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] locking/lockdep: unlikely bfs error check
@ 2021-06-16 14:42 Xiongwei Song
  2021-06-16 14:42 ` [PATCH] locking/lockdep: print possible warning after counting deps Xiongwei Song
  2021-06-16 14:48 ` [PATCH] locking/lockdep: unlikely bfs error check Waiman Long
  0 siblings, 2 replies; 7+ messages in thread
From: Xiongwei Song @ 2021-06-16 14:42 UTC (permalink / raw)
  To: peterz, mingo, will, longman, boqun.feng; +Cc: linux-kernel, Xiongwei Song

From: Xiongwei Song <sxwjean@gmail.com>

The error from graph walk is small probability event, so unlikely
bfs_error can improve performance a little bit.

Signed-off-by: Xiongwei Song <sxwjean@gmail.com>
---
 kernel/locking/lockdep.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 074fd6418c20..af8c9203cd3e 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -2646,7 +2646,7 @@ static int check_irq_usage(struct task_struct *curr, struct held_lock *prev,
 	bfs_init_rootb(&this, prev);
 
 	ret = __bfs_backwards(&this, &usage_mask, usage_accumulate, usage_skip, NULL);
-	if (bfs_error(ret)) {
+	if (unlikely(bfs_error(ret))) {
 		print_bfs_bug(ret);
 		return 0;
 	}
@@ -2664,7 +2664,7 @@ static int check_irq_usage(struct task_struct *curr, struct held_lock *prev,
 	bfs_init_root(&that, next);
 
 	ret = find_usage_forwards(&that, forward_mask, &target_entry1);
-	if (bfs_error(ret)) {
+	if (unlikely(bfs_error(ret))) {
 		print_bfs_bug(ret);
 		return 0;
 	}
@@ -2679,7 +2679,7 @@ static int check_irq_usage(struct task_struct *curr, struct held_lock *prev,
 	backward_mask = original_mask(target_entry1->class->usage_mask);
 
 	ret = find_usage_backwards(&this, backward_mask, &target_entry);
-	if (bfs_error(ret)) {
+	if (unlikely(bfs_error(ret))) {
 		print_bfs_bug(ret);
 		return 0;
 	}
@@ -2998,7 +2998,7 @@ check_prev_add(struct task_struct *curr, struct held_lock *prev,
 	 * Is the <prev> -> <next> link redundant?
 	 */
 	ret = check_redundant(prev, next);
-	if (bfs_error(ret))
+	if (unlikely(bfs_error(ret)))
 		return 0;
 	else if (ret == BFS_RMATCH)
 		return 2;
@@ -3911,7 +3911,7 @@ check_usage_forwards(struct task_struct *curr, struct held_lock *this,
 
 	bfs_init_root(&root, this);
 	ret = find_usage_forwards(&root, usage_mask, &target_entry);
-	if (bfs_error(ret)) {
+	if (unlikely(bfs_error(ret))) {
 		print_bfs_bug(ret);
 		return 0;
 	}
@@ -3946,7 +3946,7 @@ check_usage_backwards(struct task_struct *curr, struct held_lock *this,
 
 	bfs_init_rootb(&root, this);
 	ret = find_usage_backwards(&root, usage_mask, &target_entry);
-	if (bfs_error(ret)) {
+	if (unlikely(bfs_error(ret))) {
 		print_bfs_bug(ret);
 		return 0;
 	}
-- 
2.30.2


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

end of thread, other threads:[~2021-06-17  2:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-16 14:42 [PATCH] locking/lockdep: unlikely bfs error check Xiongwei Song
2021-06-16 14:42 ` [PATCH] locking/lockdep: print possible warning after counting deps Xiongwei Song
2021-06-17  2:22   ` Xiongwei Song
2021-06-16 14:48 ` [PATCH] locking/lockdep: unlikely bfs error check Waiman Long
2021-06-16 14:59   ` Xiongwei Song
2021-06-16 15:11     ` Waiman Long
2021-06-17  2:14       ` Xiongwei Song

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).