mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 21:50:53 +07:00
rtmutex: No need to keep task ref for lock owner check
There is no point to keep the task ref across the check for lock owner. Drop the ref before that, so the protection context is clear. Found while documenting the chain walk. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Steven Rostedt <rostedt@goodmis.org> Reviewed-by: Lai Jiangshan <laijs@cn.fujitsu.com>
This commit is contained in:
parent
358c331f39
commit
2ffa5a5cd2
@ -463,6 +463,8 @@ static int rt_mutex_adjust_prio_chain(struct task_struct *task,
|
||||
|
||||
/* Release the task */
|
||||
raw_spin_unlock_irqrestore(&task->pi_lock, flags);
|
||||
put_task_struct(task);
|
||||
|
||||
if (!rt_mutex_owner(lock)) {
|
||||
/*
|
||||
* If the requeue above changed the top waiter, then we need
|
||||
@ -472,9 +474,8 @@ static int rt_mutex_adjust_prio_chain(struct task_struct *task,
|
||||
if (top_waiter != rt_mutex_top_waiter(lock))
|
||||
wake_up_process(rt_mutex_top_waiter(lock)->task);
|
||||
raw_spin_unlock(&lock->wait_lock);
|
||||
goto out_put_task;
|
||||
return 0;
|
||||
}
|
||||
put_task_struct(task);
|
||||
|
||||
/* Grab the next task */
|
||||
task = rt_mutex_owner(lock);
|
||||
|
Loading…
Reference in New Issue
Block a user