locking/lockdep: Fix reported required memory size (1/2)
authorBart Van Assche <bvanassche@acm.org>
Thu, 14 Feb 2019 23:00:37 +0000 (15:00 -0800)
committerIngo Molnar <mingo@kernel.org>
Thu, 28 Feb 2019 06:55:39 +0000 (07:55 +0100)
Change the sizeof(array element time) * (array size) expressions into
sizeof(array). This fixes the size computations of the classhash_table[]
and chainhash_table[] arrays.

The reason is that commit:

  a63f38cc4ccf ("locking/lockdep: Convert hash tables to hlists")

changed the type of the elements of that array from 'struct list_head' into
'struct hlist_head'.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Waiman Long <longman@redhat.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: johannes.berg@intel.com
Cc: tj@kernel.org
Link: https://lkml.kernel.org/r/20190214230058.196511-3-bvanassche@acm.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/locking/lockdep.c

index 5c5283b..57a523f 100644 (file)
@@ -4267,19 +4267,19 @@ void __init lockdep_init(void)
        printk("... CHAINHASH_SIZE:          %lu\n", CHAINHASH_SIZE);
 
        printk(" memory used by lock dependency info: %zu kB\n",
-               (sizeof(struct lock_class) * MAX_LOCKDEP_KEYS +
-               sizeof(struct list_head) * CLASSHASH_SIZE +
-               sizeof(struct lock_list) * MAX_LOCKDEP_ENTRIES +
-               sizeof(struct lock_chain) * MAX_LOCKDEP_CHAINS +
-               sizeof(struct list_head) * CHAINHASH_SIZE
+              (sizeof(lock_classes) +
+               sizeof(classhash_table) +
+               sizeof(list_entries) +
+               sizeof(lock_chains) +
+               sizeof(chainhash_table)
 #ifdef CONFIG_PROVE_LOCKING
-               + sizeof(struct circular_queue)
+               + sizeof(lock_cq)
 #endif
                ) / 1024
                );
 
        printk(" per task-struct memory footprint: %zu bytes\n",
-               sizeof(struct held_lock) * MAX_LOCK_DEPTH);
+              sizeof(((struct task_struct *)NULL)->held_locks));
 }
 
 static void