aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/kernel/sched/sched.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2023-06-09 20:52:55 +0200
committerIngo Molnar <mingo@kernel.org>2023-09-13 15:01:14 +0200
commit94b548a15e8ec47dfbf6925bdfb64bb5657dce0c (patch)
tree1f257fabbfb7225235baf8d4779674566edc8242 /kernel/sched/sched.h
parentLinux 6.6-rc1 (diff)
downloadwireguard-linux-94b548a15e8ec47dfbf6925bdfb64bb5657dce0c.tar.xz
wireguard-linux-94b548a15e8ec47dfbf6925bdfb64bb5657dce0c.zip
sched: Simplify set_user_nice()
Use guards to reduce gotos and simplify control flow. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched/sched.h')
-rw-r--r--kernel/sched/sched.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 04846272409c..68768f47ccb7 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -1658,6 +1658,11 @@ task_rq_unlock(struct rq *rq, struct task_struct *p, struct rq_flags *rf)
raw_spin_unlock_irqrestore(&p->pi_lock, rf->flags);
}
+DEFINE_LOCK_GUARD_1(task_rq_lock, struct task_struct,
+ _T->rq = task_rq_lock(_T->lock, &_T->rf),
+ task_rq_unlock(_T->rq, _T->lock, &_T->rf),
+ struct rq *rq; struct rq_flags rf)
+
static inline void
rq_lock_irqsave(struct rq *rq, struct rq_flags *rf)
__acquires(rq->lock)