locking/lockdep: increase size of counters for lockdep statistics
authorKobe Wu <kobe-cp.wu@mediatek.com>
Mon, 24 Jun 2019 08:35:48 +0000 (16:35 +0800)
committerIngo Molnar <mingo@kernel.org>
Tue, 25 Jun 2019 08:17:08 +0000 (10:17 +0200)
When system has been running for a long time, signed integer
counters are not enough for some lockdep statistics. Using
unsigned long counters can satisfy the requirement. Besides,
most of lockdep statistics are unsigned. It is better to use
unsigned int instead of int.

Remove unused variables.
- max_recursion_depth
- nr_cyclic_check_recursions
- nr_find_usage_forwards_recursions
- nr_find_usage_backwards_recursions

Signed-off-by: Kobe Wu <kobe-cp.wu@mediatek.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: <linux-mediatek@lists.infradead.org>
Cc: <wsd_upstream@mediatek.com>
Cc: Eason Lin <eason-yh.lin@mediatek.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Link: https://lkml.kernel.org/r/1561365348-16050-1-git-send-email-kobe-cp.wu@mediatek.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/locking/lockdep_internals.h

index 150ec3f..cc83568 100644 (file)
@@ -131,7 +131,6 @@ extern unsigned int nr_hardirq_chains;
 extern unsigned int nr_softirq_chains;
 extern unsigned int nr_process_chains;
 extern unsigned int max_lockdep_depth;
-extern unsigned int max_recursion_depth;
 
 extern unsigned int max_bfs_queue_depth;
 
@@ -160,25 +159,22 @@ lockdep_count_backward_deps(struct lock_class *class)
  * and we want to avoid too much cache bouncing.
  */
 struct lockdep_stats {
-       int     chain_lookup_hits;
-       int     chain_lookup_misses;
-       int     hardirqs_on_events;
-       int     hardirqs_off_events;
-       int     redundant_hardirqs_on;
-       int     redundant_hardirqs_off;
-       int     softirqs_on_events;
-       int     softirqs_off_events;
-       int     redundant_softirqs_on;
-       int     redundant_softirqs_off;
-       int     nr_unused_locks;
-       int     nr_redundant_checks;
-       int     nr_redundant;
-       int     nr_cyclic_checks;
-       int     nr_cyclic_check_recursions;
-       int     nr_find_usage_forwards_checks;
-       int     nr_find_usage_forwards_recursions;
-       int     nr_find_usage_backwards_checks;
-       int     nr_find_usage_backwards_recursions;
+       unsigned long  chain_lookup_hits;
+       unsigned int   chain_lookup_misses;
+       unsigned long  hardirqs_on_events;
+       unsigned long  hardirqs_off_events;
+       unsigned long  redundant_hardirqs_on;
+       unsigned long  redundant_hardirqs_off;
+       unsigned long  softirqs_on_events;
+       unsigned long  softirqs_off_events;
+       unsigned long  redundant_softirqs_on;
+       unsigned long  redundant_softirqs_off;
+       int            nr_unused_locks;
+       unsigned int   nr_redundant_checks;
+       unsigned int   nr_redundant;
+       unsigned int   nr_cyclic_checks;
+       unsigned int   nr_find_usage_forwards_checks;
+       unsigned int   nr_find_usage_backwards_checks;
 
        /*
         * Per lock class locking operation stat counts