| Function report | 
| Source Code: kernel\locking\mutex.c | Create Date:2022-07-28 09:47:36 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:__mutex_unlock_slowpath
Proto:static noinline void __sched __mutex_unlock_slowpath(struct mutex *lock, unsigned long ip)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct mutex * | lock | |
| unsigned long | ip | 
| 1224 | struct task_struct * next = NULL | 
| 1228 | mutex_release( & dep_map, ip) | 
| 1237 | owner = atomic_long_read( & owner) | 
| 1238 | cycle | 
| 1246 | If owner & MUTEX_FLAG_HANDOFF Then Break | 
| 1249 | old = atomic_long_cmpxchg_release( & owner, owner, __owner_flags(owner)) | 
| 1262 | debug_mutex_unlock(lock) | 
| 1263 | If Not list_empty - tests whether a list is empty*@head: the list to test. Then | 
| 1271 | debug_mutex_wake_waiter(lock, waiter) | 
| 1278 | spin_unlock( & wait_lock) | 
| Name | Describe | 
|---|---|
| mutex_unlock | mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed. | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |