• Yuyang Du's avatar
    locking/lockdep: Fix lock used or unused stats error · 68d41d8c
    Yuyang Du authored
    The stats variable nr_unused_locks is incremented every time a new lock
    class is register and decremented when the lock is first used in
    __lock_acquire(). And after all, it is shown and checked in lockdep_stats.
    
    However, under configurations that either CONFIG_TRACE_IRQFLAGS or
    CONFIG_PROVE_LOCKING is not defined:
    
    The commit:
    
      09180651 ("locking/lockdep: Consolidate lock usage bit initialization")
    
    missed marking the LOCK_USED flag at IRQ usage initialization because
    as mark_usage() is not called. And the commit:
    
      886532ae ("locking/lockdep: Move mark_lock() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING")
    
    further made mark_lock() not defined such that the LOCK_USED cannot be
    marked at all when the lock is first acquired.
    
    As a result, we fix this by not showing and checking the stats under such
    configurations for lockdep_stats.
    Reported-by: default avatarQian Cai <cai@lca.pw>
    Signed-off-by: default avatarYuyang Du <duyuyang@gmail.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    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: Will Deacon <will.deacon@arm.com>
    Cc: arnd@arndb.de
    Cc: frederic@kernel.org
    Link: https://lkml.kernel.org/r/20190709101522.9117-1-duyuyang@gmail.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    68d41d8c
lockdep_proc.c 16.8 KB