Function report |
Source Code:kernel\locking\rtmutex.c |
Create Date:2022-07-28 09:52:21 |
Last Modify:2020-03-17 14:26:38 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Slow path lock function:
Proto:static int __sched rt_mutex_slowlock(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, enum rtmutex_chainwalk chwalk)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct rt_mutex * | lock | |
int | state | |
struct hrtimer_sleeper * | timeout | |
enum rtmutex_chainwalk | chwalk |
1236 | ret = 0 |
1238 | rt_mutex_init_waiter( & waiter) |
1248 | raw_spin_lock_irqsave( & wait_lock, flags) |
1252 | raw_spin_unlock_irqrestore( & wait_lock, flags) |
1253 | Return 0 |
1256 | set_current_state(state) |
1259 | If Value for the false possibility is greater at compile time(timeout) Then hrtimer_start_expires( & timer, HRTIMER_MODE_ABS) |
1262 | ret = Task blocks on lock.* Prepare waiter and propagate pi chain* This must be called with lock->wait_lock held and interrupts disabled |
1271 | rt_mutex_handle_deadlock(ret, chwalk, & waiter) |
1278 | fixup_rt_mutex_waiters(lock) |
1280 | raw_spin_unlock_irqrestore( & wait_lock, flags) |
1283 | If Value for the false possibility is greater at compile time(timeout) Then hrtimer_cancel( & timer) |
1286 | debug_rt_mutex_free_waiter( & waiter) |
1288 | Return ret |
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 |