[PATCH -next] sched: Simplify sched_set_rq_online()

Yang Yingliang posted 1 patch 1 year, 3 months ago
kernel/sched/core.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
[PATCH -next] sched: Simplify sched_set_rq_online()
Posted by Yang Yingliang 1 year, 3 months ago
From: Yang Yingliang <yangyingliang@huawei.com>

Use guards to simplify sched_set_rq_online()

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 kernel/sched/core.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index a81b5136d4cb..80848f219260 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -7999,26 +7999,20 @@ void set_rq_offline(struct rq *rq)
 
 static inline void sched_set_rq_online(struct rq *rq, int cpu)
 {
-	struct rq_flags rf;
-
-	rq_lock_irqsave(rq, &rf);
+	guard(rq_lock_irqsave)(rq);
 	if (rq->rd) {
 		BUG_ON(!cpumask_test_cpu(cpu, rq->rd->span));
 		set_rq_online(rq);
 	}
-	rq_unlock_irqrestore(rq, &rf);
 }
 
 static inline void sched_set_rq_offline(struct rq *rq, int cpu)
 {
-	struct rq_flags rf;
-
-	rq_lock_irqsave(rq, &rf);
+	guard(rq_lock_irqsave)(rq);
 	if (rq->rd) {
 		BUG_ON(!cpumask_test_cpu(cpu, rq->rd->span));
 		set_rq_offline(rq);
 	}
-	rq_unlock_irqrestore(rq, &rf);
 }
 
 /*
-- 
2.33.0
Re: [PATCH] sched: Simplify sched_set_rq_online()
Posted by Markus Elfring 1 year, 3 months ago
> Use guards to simplify sched_set_rq_online()

Wording suggestion:
Replace lock function calls by guard definitions so that two function implementations
can benefit more from applications of scope-based resource management.


Were further update candidates left over according to this programming interface?

Regards,
Markus