2022-04-25 06:17:15

by Cruz Zhao

[permalink] [raw]
Subject: [PATCH] sched/core: Optimize sched_core_next()

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 <[email protected]>
---
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


2022-05-10 13:20:44

by Cruz Zhao

[permalink] [raw]
Subject: Re: [PATCH] sched/core: Optimize sched_core_next()

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 <[email protected]>
> ---
> 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;
>