Merge tag 'locking-urgent-2023-02-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking fix from Ingo Molnar: "Fix an rtmutex missed-wakeup bug" * tag 'locking-urgent-2023-02-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: rtmutex: Ensure that the top waiter is always woken up
This commit is contained in:
@@ -901,8 +901,9 @@ static int __sched rt_mutex_adjust_prio_chain(struct task_struct *task,
|
||||
* then we need to wake the new top waiter up to try
|
||||
* to get the lock.
|
||||
*/
|
||||
if (prerequeue_top_waiter != rt_mutex_top_waiter(lock))
|
||||
wake_up_state(waiter->task, waiter->wake_state);
|
||||
top_waiter = rt_mutex_top_waiter(lock);
|
||||
if (prerequeue_top_waiter != top_waiter)
|
||||
wake_up_state(top_waiter->task, top_waiter->wake_state);
|
||||
raw_spin_unlock_irq(&lock->wait_lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user