Lines Matching refs:wqh
540 static __always_inline void rt_mutex_wake_q_add_task(struct rt_wake_q_head *wqh, in rt_mutex_wake_q_add_task() argument
546 WARN_ON_ONCE(wqh->rtlock_task); in rt_mutex_wake_q_add_task()
548 wqh->rtlock_task = task; in rt_mutex_wake_q_add_task()
550 wake_q_add(&wqh->head, task); in rt_mutex_wake_q_add_task()
554 static __always_inline void rt_mutex_wake_q_add(struct rt_wake_q_head *wqh, in rt_mutex_wake_q_add() argument
557 rt_mutex_wake_q_add_task(wqh, w->task, w->wake_state); in rt_mutex_wake_q_add()
560 static __always_inline void rt_mutex_wake_up_q(struct rt_wake_q_head *wqh) in rt_mutex_wake_up_q() argument
562 if (IS_ENABLED(CONFIG_PREEMPT_RT) && wqh->rtlock_task) { in rt_mutex_wake_up_q()
563 wake_up_state(wqh->rtlock_task, TASK_RTLOCK_WAIT); in rt_mutex_wake_up_q()
564 put_task_struct(wqh->rtlock_task); in rt_mutex_wake_up_q()
565 wqh->rtlock_task = NULL; in rt_mutex_wake_up_q()
568 if (!wake_q_empty(&wqh->head)) in rt_mutex_wake_up_q()
569 wake_up_q(&wqh->head); in rt_mutex_wake_up_q()
1308 static void __sched mark_wakeup_next_waiter(struct rt_wake_q_head *wqh, in mark_wakeup_next_waiter() argument
1350 rt_mutex_wake_q_add(wqh, waiter); in mark_wakeup_next_waiter()
1409 DEFINE_RT_WAKE_Q(wqh); in rt_mutex_slowunlock()
1462 mark_wakeup_next_waiter(&wqh, lock); in rt_mutex_slowunlock()
1465 rt_mutex_wake_up_q(&wqh); in rt_mutex_slowunlock()