• Waiman Long's avatar
    locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro · 3b4ba664
    Waiman Long authored
    Currently, the DEBUG_RWSEMS_WARN_ON() macro just dumps a stack trace
    when the rwsem isn't in the right state. It does not show the actual
    states of the rwsem. This may not be that helpful in the debugging
    process.
    
    Enhance the DEBUG_RWSEMS_WARN_ON() macro to also show the current
    content of the rwsem count and owner fields to give more information
    about what is wrong with the rwsem. The debug_locks_off() function is
    called as is done inside DEBUG_LOCKS_WARN_ON().
    Signed-off-by: default avatarWaiman Long <longman@redhat.com>
    Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Acked-by: default avatarDavidlohr Bueso <dbueso@suse.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Davidlohr Bueso <dave@stgolabs.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: Tim Chen <tim.c.chen@linux.intel.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Link: http://lkml.kernel.org/r/20190404174320.22416-7-longman@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    3b4ba664
rwsem.c 3.99 KB