aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/lockdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/lockdep.c')
-rw-r--r--kernel/lockdep.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index 6358cf7e84b2..744da6265d99 100644
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -929,7 +929,7 @@ static int add_lock_to_list(struct lock_class *class, struct lock_class *this,
929 929
930unsigned long bfs_accessed[BITS_TO_LONGS(MAX_LOCKDEP_ENTRIES)]; 930unsigned long bfs_accessed[BITS_TO_LONGS(MAX_LOCKDEP_ENTRIES)];
931static struct circular_queue lock_cq; 931static struct circular_queue lock_cq;
932 932unsigned int max_bfs_queue_depth;
933static int __bfs(struct lock_list *source_entry, 933static int __bfs(struct lock_list *source_entry,
934 void *data, 934 void *data,
935 int (*match)(struct lock_list *entry, void *data), 935 int (*match)(struct lock_list *entry, void *data),
@@ -975,6 +975,7 @@ static int __bfs(struct lock_list *source_entry,
975 975
976 list_for_each_entry(entry, head, entry) { 976 list_for_each_entry(entry, head, entry) {
977 if (!lock_accessed(entry)) { 977 if (!lock_accessed(entry)) {
978 unsigned int cq_depth;
978 mark_lock_accessed(entry, lock); 979 mark_lock_accessed(entry, lock);
979 if (match(entry, data)) { 980 if (match(entry, data)) {
980 *target_entry = entry; 981 *target_entry = entry;
@@ -986,6 +987,9 @@ static int __bfs(struct lock_list *source_entry,
986 ret = -1; 987 ret = -1;
987 goto exit; 988 goto exit;
988 } 989 }
990 cq_depth = __cq_get_elem_count(cq);
991 if (max_bfs_queue_depth < cq_depth)
992 max_bfs_queue_depth = cq_depth;
989 } 993 }
990 } 994 }
991 } 995 }