The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/kernel/mutex.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Mutexes: blocking mutual exclusion locks
    3  *
    4  * started by Ingo Molnar:
    5  *
    6  *  Copyright (C) 2004, 2005, 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
    7  *
    8  * This file contains mutex debugging related internal prototypes, for the
    9  * !CONFIG_DEBUG_MUTEXES case. Most of them are NOPs:
   10  */
   11 
   12 #define spin_lock_mutex(lock, flags) \
   13                 do { spin_lock(lock); (void)(flags); } while (0)
   14 #define spin_unlock_mutex(lock, flags) \
   15                 do { spin_unlock(lock); (void)(flags); } while (0)
   16 #define mutex_remove_waiter(lock, waiter, ti) \
   17                 __list_del((waiter)->list.prev, (waiter)->list.next)
   18 
   19 #ifdef CONFIG_SMP
   20 static inline void mutex_set_owner(struct mutex *lock)
   21 {
   22         lock->owner = current;
   23 }
   24 
   25 static inline void mutex_clear_owner(struct mutex *lock)
   26 {
   27         lock->owner = NULL;
   28 }
   29 #else
   30 static inline void mutex_set_owner(struct mutex *lock)
   31 {
   32 }
   33 
   34 static inline void mutex_clear_owner(struct mutex *lock)
   35 {
   36 }
   37 #endif
   38 
   39 #define debug_mutex_wake_waiter(lock, waiter)           do { } while (0)
   40 #define debug_mutex_free_waiter(waiter)                 do { } while (0)
   41 #define debug_mutex_add_waiter(lock, waiter, ti)        do { } while (0)
   42 #define debug_mutex_unlock(lock)                        do { } while (0)
   43 #define debug_mutex_init(lock, name, key)               do { } while (0)
   44 
   45 static inline void
   46 debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)
   47 {
   48 }

Cache object: 0f5261a8ec5ca4a791f3caccdd035fe5


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.