1. 04 7月, 2006 1 次提交
    • I
      [PATCH] lockdep: better lock debugging · 9a11b49a
      Ingo Molnar 提交于
      Generic lock debugging:
      
       - generalized lock debugging framework. For example, a bug in one lock
         subsystem turns off debugging in all lock subsystems.
      
       - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from
         the mutex/rtmutex debugging code: it caused way too much prototype
         hackery, and lockdep will give the same information anyway.
      
       - ability to do silent tests
      
       - check lock freeing in vfree too.
      
       - more finegrained debugging options, to allow distributions to
         turn off more expensive debugging features.
      
      There's no separate 'held mutexes' list anymore - but there's a 'held locks'
      stack within lockdep, which unifies deadlock detection across all lock
      classes.  (this is independent of the lockdep validation stuff - lockdep first
      checks whether we are holding a lock already)
      
      Here are the current debugging options:
      
      CONFIG_DEBUG_MUTEXES=y
      CONFIG_DEBUG_LOCK_ALLOC=y
      
      which do:
      
       config DEBUG_MUTEXES
                bool "Mutex debugging, basic checks"
      
       config DEBUG_LOCK_ALLOC
               bool "Detect incorrect freeing of live mutexes"
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9a11b49a
  2. 10 1月, 2006 1 次提交
    • I
      [PATCH] mutex subsystem, add asm-generic/mutex-[dec|xchg|null].h implementations · 620a6fd1
      Ingo Molnar 提交于
      Add three (generic) mutex fastpath implementations.
      
      The mutex-xchg.h implementation is atomic_xchg() based, and should
      work fine on every architecture.
      
      The mutex-dec.h implementation is atomic_dec_return() based - this
      one too should work on every architecture, but might not perform the
      most optimally on architectures that have no atomic-dec/inc instructions.
      
      The mutex-null.h implementation forces all calls into the slowpath. This
      is used for mutex debugging, but it can also be used on platforms that do
      not want (or need) a fastpath at all.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NArjan van de Ven <arjan@infradead.org>
      620a6fd1