Lines Matching refs:wqh
520 static __always_inline void rt_mutex_wake_q_add_task(struct rt_wake_q_head *wqh, in rt_mutex_wake_q_add_task() argument
526 WARN_ON_ONCE(wqh->rtlock_task); in rt_mutex_wake_q_add_task()
528 wqh->rtlock_task = task; in rt_mutex_wake_q_add_task()
530 wake_q_add(&wqh->head, task); in rt_mutex_wake_q_add_task()
534 static __always_inline void rt_mutex_wake_q_add(struct rt_wake_q_head *wqh, in rt_mutex_wake_q_add() argument
537 rt_mutex_wake_q_add_task(wqh, w->task, w->wake_state); in rt_mutex_wake_q_add()
540 static __always_inline void rt_mutex_wake_up_q(struct rt_wake_q_head *wqh) in rt_mutex_wake_up_q() argument
542 if (IS_ENABLED(CONFIG_PREEMPT_RT) && wqh->rtlock_task) { in rt_mutex_wake_up_q()
543 wake_up_state(wqh->rtlock_task, TASK_RTLOCK_WAIT); in rt_mutex_wake_up_q()
544 put_task_struct(wqh->rtlock_task); in rt_mutex_wake_up_q()
545 wqh->rtlock_task = NULL; in rt_mutex_wake_up_q()
548 if (!wake_q_empty(&wqh->head)) in rt_mutex_wake_up_q()
549 wake_up_q(&wqh->head); in rt_mutex_wake_up_q()
1288 static void __sched mark_wakeup_next_waiter(struct rt_wake_q_head *wqh, in mark_wakeup_next_waiter() argument
1330 rt_mutex_wake_q_add(wqh, waiter); in mark_wakeup_next_waiter()
1389 DEFINE_RT_WAKE_Q(wqh); in rt_mutex_slowunlock()
1442 mark_wakeup_next_waiter(&wqh, lock); in rt_mutex_slowunlock()
1445 rt_mutex_wake_up_q(&wqh); in rt_mutex_slowunlock()