On Tue, Jul 09, 2019 at 06:15:22PM +0800, Yuyang Du wrote:
> 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:
> 
>   091806515124b20 ("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:
> 
>   886532aee3cd42d ("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: Qian Cai <c...@lca.pw>
> Signed-off-by: Yuyang Du <duyuy...@gmail.com>

Thanks!

Reply via email to