[PATCH] sched/deadline: Use helper function task_current()

Miaohe Lin posted 1 patch 2 years, 7 months ago
kernel/sched/deadline.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] sched/deadline: Use helper function task_current()
Posted by Miaohe Lin 2 years, 7 months ago
Use helper function task_current() to check whether task is currently
running on the runqueue. No functional change intended.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 kernel/sched/deadline.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index f827067ad03b..23284229e16b 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -2424,7 +2424,7 @@ static void pull_dl_task(struct rq *this_rq)
 		 */
 		if (p && dl_time_before(p->dl.deadline, dmin) &&
 		    dl_task_is_earliest_deadline(p, this_rq)) {
-			WARN_ON(p == src_rq->curr);
+			WARN_ON(task_current(src_rq, p));
 			WARN_ON(!task_on_rq_queued(p));
 
 			/*
@@ -2636,7 +2636,7 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p)
 		return;
 	}
 
-	if (rq->curr != p) {
+	if (!task_current(rq, p)) {
 #ifdef CONFIG_SMP
 		if (p->nr_cpus_allowed > 1 && rq->dl.overloaded)
 			deadline_queue_push_tasks(rq);
-- 
2.27.0
Re: [PATCH] sched/deadline: Use helper function task_current()
Posted by Peter Zijlstra 2 years, 7 months ago
On Sat, Jun 17, 2023 at 03:43:05PM +0800, Miaohe Lin wrote:
> Use helper function task_current() to check whether task is currently
> running on the runqueue. No functional change intended.

Why though? this makes no sense. Please leave perfectly fine code alone.

> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> ---
>  kernel/sched/deadline.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index f827067ad03b..23284229e16b 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -2424,7 +2424,7 @@ static void pull_dl_task(struct rq *this_rq)
>  		 */
>  		if (p && dl_time_before(p->dl.deadline, dmin) &&
>  		    dl_task_is_earliest_deadline(p, this_rq)) {
> -			WARN_ON(p == src_rq->curr);
> +			WARN_ON(task_current(src_rq, p));
>  			WARN_ON(!task_on_rq_queued(p));
>  
>  			/*
> @@ -2636,7 +2636,7 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p)
>  		return;
>  	}
>  
> -	if (rq->curr != p) {
> +	if (!task_current(rq, p)) {
>  #ifdef CONFIG_SMP
>  		if (p->nr_cpus_allowed > 1 && rq->dl.overloaded)
>  			deadline_queue_push_tasks(rq);
> -- 
> 2.27.0
>
Re: [PATCH] sched/deadline: Use helper function task_current()
Posted by Miaohe Lin 2 years, 7 months ago
On 2023/6/17 20:26, Peter Zijlstra wrote:
> On Sat, Jun 17, 2023 at 03:43:05PM +0800, Miaohe Lin wrote:
>> Use helper function task_current() to check whether task is currently
>> running on the runqueue. No functional change intended.
> 
> Why though? this makes no sense. Please leave perfectly fine code alone.

IMHO, it would improve the code readability if we use helper function/macro instead
of open code it directly. If this is unwanted change, I will drop this patch. :)

Thanks.