2024-05-28 06:46:52

by kunyu

[permalink] [raw]
Subject: [PATCH] sched: core: Remove unnecessary ‘NULL’ values from pending

pending is assigned first, so it does not need to initialize the
assignment.

Signed-off-by: kunyu <[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 bcf2c4cc0522..e32fea8f5830 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2969,7 +2969,7 @@ static int affine_move_task(struct rq *rq, struct task_struct *p, struct rq_flag
__releases(rq->lock)
__releases(p->pi_lock)
{
- struct set_affinity_pending my_pending = { }, *pending = NULL;
+ struct set_affinity_pending my_pending = { }, *pending;
bool stop_pending, complete = false;

/* Can the task run on the task's current CPU? If so, we're done */
--
2.18.2



2024-05-28 14:12:13

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH] sched: core: Remove unnecessary ‘NULL’ values from pending

> pending is assigned first, so it does not need to initialize the
> assignment.

Would a wording approach (like the following) be a bit nicer?

The variable “pending” will eventually be set to an appropriate pointer
a bit later. Thus omit the explicit initialisation at the beginning.


> Signed-off-by: kunyu <[email protected]>

Can the Developer's Certificate of Origin become clearer another bit?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.10-rc1#n438


How do you think about to use the summary phrase
“Delete an unnecessary initialisation in affine_move_task()”?

Regards,
Markus

2024-05-29 06:00:08

by K Prateek Nayak

[permalink] [raw]
Subject: Re: [PATCH] sched: core: Remove unnecessary ‘NULL’ values from pending

Hello Kunyu,

On 5/28/2024 12:15 PM, kunyu wrote:
> pending is assigned first, so it does not need to initialize the
> assignment.
>
> Signed-off-by: kunyu <[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 bcf2c4cc0522..e32fea8f5830 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -2969,7 +2969,7 @@ static int affine_move_task(struct rq *rq, struct task_struct *p, struct rq_flag
> __releases(rq->lock)
> __releases(p->pi_lock)
> {
> - struct set_affinity_pending my_pending = { }, *pending = NULL;
> + struct set_affinity_pending my_pending = { }, *pending;

Can "pending" here be initialized to "p->migration_pending" and later
be changed to the updated value of "p->migration_pending" for the
SCA_MIGRATE_ENABLE case?

if (!(flags & SCA_MIGRATE_ENABLE)) {
/* serialized by p->pi_lock */
if (!p->migration_pending) {
...

/* Update pending to new value of p->migration_pending */
pending = p->migration_pending = &my_pending;
} else {
...
}
}
--

Rest of the initial assignments to "pending" can be dropped then.
Thoughts?

> bool stop_pending, complete = false;
>
> /* Can the task run on the task's current CPU? If so, we're done */

--
Thanks and Regards,
Prateek