[PATCH] sched/core: Optimize sched_core_next()

Cruz Zhao posted 1 patch 4 years ago
kernel/sched/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] sched/core: Optimize sched_core_next()
Posted by Cruz Zhao 4 years ago
As there is __node_2_sc() defined before, just use it instead of
container_of() in function sched_core_next().

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
---
 kernel/sched/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index d50d4dd..d3e3d6e 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -284,7 +284,7 @@ static struct task_struct *sched_core_next(struct task_struct *p, unsigned long
 	if (!node)
 		return NULL;
 
-	p = container_of(node, struct task_struct, core_node);
+	p = __node_2_sc(node);
 	if (p->core_cookie != cookie)
 		return NULL;
 
-- 
1.8.3.1
Re: [PATCH] sched/core: Optimize sched_core_next()
Posted by cruzzhao 4 years ago
ping... Is this patch necessary?

在 2022/4/25 上午1:08, Cruz Zhao 写道:
> As there is __node_2_sc() defined before, just use it instead of
> container_of() in function sched_core_next().
> 
> Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
> ---
>  kernel/sched/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index d50d4dd..d3e3d6e 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -284,7 +284,7 @@ static struct task_struct *sched_core_next(struct task_struct *p, unsigned long
>  	if (!node)
>  		return NULL;
>  
> -	p = container_of(node, struct task_struct, core_node);
> +	p = __node_2_sc(node);
>  	if (p->core_cookie != cookie)
>  		return NULL;
>