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

kunyu posted 1 patch 1 year, 8 months ago
kernel/sched/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] sched: core: Remove unnecessary ‘NULL’ values from pending
Posted by kunyu 1 year, 8 months ago
pending is assigned first, so it does not need to initialize the
assignment.

Signed-off-by: kunyu <kunyu@nfschina.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 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
Re: [PATCH] sched: core: Remove unnecessary ‘NULL’ values from pending
Posted by K Prateek Nayak 1 year, 8 months ago
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 <kunyu@nfschina.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 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
Re: [PATCH] sched: core: Remove unnecessary ‘NULL’ values from pending
Posted by Markus Elfring 1 year, 8 months ago
> 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 <kunyu@nfschina.com>

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