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
> 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
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