提交 2ffa5a5c 编写于 作者: T Thomas Gleixner

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: NThomas Gleixner <tglx@linutronix.de>
Reviewed-by: NSteven Rostedt <rostedt@goodmis.org>
Reviewed-by: NLai Jiangshan <laijs@cn.fujitsu.com>
上级 358c331f
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册