Changeset 13108f24 in mainline
- Timestamp:
- 2010-04-29T19:23:09Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bcb6f27
- Parents:
- c050399
- Location:
- kernel/generic
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/synch/spinlock.h
rc050399 r13108f24 77 77 } 78 78 79 #define spinlock_lock(lock) spinlock_lock_debug(lock) 79 #define spinlock_lock(lock) spinlock_lock_debug((lock)) 80 #define spinlock_unlock(lock) spinlock_unlock_debug((lock)) 80 81 81 82 #else … … 91 92 } 92 93 93 #define spinlock_lock(lock) atomic_lock_arch(&(lock)->val) 94 #define spinlock_lock(lock) atomic_lock_arch(&(lock)->val) 95 #define spinlock_unlock(lock) spinlock_unlock_nondebug((lock)) 94 96 95 97 #endif … … 104 106 extern int spinlock_trylock(spinlock_t *lock); 105 107 extern void spinlock_lock_debug(spinlock_t *lock); 108 extern void spinlock_unlock_debug(spinlock_t *lock); 106 109 107 110 /** Unlock spinlock 108 111 * 109 * Unlock spinlock .112 * Unlock spinlock for non-debug kernels. 110 113 * 111 114 * @param sl Pointer to spinlock_t structure. 112 115 */ 113 static inline void spinlock_unlock (spinlock_t *lock)116 static inline void spinlock_unlock_nondebug(spinlock_t *lock) 114 117 { 115 ASSERT(atomic_get(&lock->val) != 0);116 117 118 /* 118 119 * Prevent critical section code from bleeding out this way down. -
kernel/generic/src/synch/spinlock.c
rc050399 r13108f24 120 120 } 121 121 122 /** Unlock spinlock 123 * 124 * Unlock spinlock. 125 * 126 * @param sl Pointer to spinlock_t structure. 127 */ 128 void spinlock_unlock_debug(spinlock_t *lock) 129 { 130 ASSERT(atomic_get(&lock->val) != 0); 131 132 /* 133 * Prevent critical section code from bleeding out this way down. 134 */ 135 CS_LEAVE_BARRIER(); 136 137 atomic_set(&lock->val, 0); 138 preemption_enable(); 139 } 140 122 141 #endif 123 142
Note:
See TracChangeset
for help on using the changeset viewer.