2021-06-09 17:10:25

by Baokun Li

[permalink] [raw]
Subject: [PATCH -next v2] platform/surface: aggregator: Use list_move_tail instead of list_del/list_add_tail in ssh_packet_layer.c

Using list_move_tail() instead of list_del() + list_add_tail() in ssh_packet_layer.c.

Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Baokun Li <[email protected]>
---
V1->V2:
CC mailist

.../surface/aggregator/ssh_packet_layer.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/platform/surface/aggregator/ssh_packet_layer.c b/drivers/platform/surface/aggregator/ssh_packet_layer.c
index 15d96eac6811..2f546ad11c4e 100644
--- a/drivers/platform/surface/aggregator/ssh_packet_layer.c
+++ b/drivers/platform/surface/aggregator/ssh_packet_layer.c
@@ -1567,9 +1567,7 @@ static void ssh_ptl_timeout_reap(struct work_struct *work)
clear_bit(SSH_PACKET_SF_PENDING_BIT, &p->state);

atomic_dec(&ptl->pending.count);
- list_del(&p->pending_node);
-
- list_add_tail(&p->pending_node, &claimed);
+ list_move_tail(&p->pending_node, &claimed);
}

spin_unlock(&ptl->pending.lock);
@@ -1957,8 +1955,7 @@ void ssh_ptl_shutdown(struct ssh_ptl *ptl)
smp_mb__before_atomic();
clear_bit(SSH_PACKET_SF_QUEUED_BIT, &p->state);

- list_del(&p->queue_node);
- list_add_tail(&p->queue_node, &complete_q);
+ list_move_tail(&p->queue_node, &complete_q);
}
spin_unlock(&ptl->queue.lock);

@@ -1970,8 +1967,7 @@ void ssh_ptl_shutdown(struct ssh_ptl *ptl)
smp_mb__before_atomic();
clear_bit(SSH_PACKET_SF_PENDING_BIT, &p->state);

- list_del(&p->pending_node);
- list_add_tail(&p->pending_node, &complete_q);
+ list_move_tail(&p->pending_node, &complete_q);
}
atomic_set(&ptl->pending.count, 0);
spin_unlock(&ptl->pending.lock);


2021-06-09 17:50:01

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH -next v2] platform/surface: aggregator: Use list_move_tail instead of list_del/list_add_tail in ssh_packet_layer.c

Hi,

On 6/9/21 9:24 AM, Baokun Li wrote:
> Using list_move_tail() instead of list_del() + list_add_tail() in ssh_packet_layer.c.
>
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Baokun Li <[email protected]>

Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans



> ---
> V1->V2:
> CC mailist
>
> .../surface/aggregator/ssh_packet_layer.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/platform/surface/aggregator/ssh_packet_layer.c b/drivers/platform/surface/aggregator/ssh_packet_layer.c
> index 15d96eac6811..2f546ad11c4e 100644
> --- a/drivers/platform/surface/aggregator/ssh_packet_layer.c
> +++ b/drivers/platform/surface/aggregator/ssh_packet_layer.c
> @@ -1567,9 +1567,7 @@ static void ssh_ptl_timeout_reap(struct work_struct *work)
> clear_bit(SSH_PACKET_SF_PENDING_BIT, &p->state);
>
> atomic_dec(&ptl->pending.count);
> - list_del(&p->pending_node);
> -
> - list_add_tail(&p->pending_node, &claimed);
> + list_move_tail(&p->pending_node, &claimed);
> }
>
> spin_unlock(&ptl->pending.lock);
> @@ -1957,8 +1955,7 @@ void ssh_ptl_shutdown(struct ssh_ptl *ptl)
> smp_mb__before_atomic();
> clear_bit(SSH_PACKET_SF_QUEUED_BIT, &p->state);
>
> - list_del(&p->queue_node);
> - list_add_tail(&p->queue_node, &complete_q);
> + list_move_tail(&p->queue_node, &complete_q);
> }
> spin_unlock(&ptl->queue.lock);
>
> @@ -1970,8 +1967,7 @@ void ssh_ptl_shutdown(struct ssh_ptl *ptl)
> smp_mb__before_atomic();
> clear_bit(SSH_PACKET_SF_PENDING_BIT, &p->state);
>
> - list_del(&p->pending_node);
> - list_add_tail(&p->pending_node, &complete_q);
> + list_move_tail(&p->pending_node, &complete_q);
> }
> atomic_set(&ptl->pending.count, 0);
> spin_unlock(&ptl->pending.lock);
>

2021-06-09 18:41:41

by Maximilian Luz

[permalink] [raw]
Subject: Re: [PATCH -next v2] platform/surface: aggregator: Use list_move_tail instead of list_del/list_add_tail in ssh_packet_layer.c

On 6/9/21 9:24 AM, Baokun Li wrote:
> Using list_move_tail() instead of list_del() + list_add_tail() in ssh_packet_layer.c.
>
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Baokun Li <[email protected]>
> ---

Looks good to me, thanks!

Reviewed-by: Maximilian Luz <[email protected]>

Regards,
Max

> V1->V2:
> CC mailist
>
> .../surface/aggregator/ssh_packet_layer.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/platform/surface/aggregator/ssh_packet_layer.c b/drivers/platform/surface/aggregator/ssh_packet_layer.c
> index 15d96eac6811..2f546ad11c4e 100644
> --- a/drivers/platform/surface/aggregator/ssh_packet_layer.c
> +++ b/drivers/platform/surface/aggregator/ssh_packet_layer.c
> @@ -1567,9 +1567,7 @@ static void ssh_ptl_timeout_reap(struct work_struct *work)
> clear_bit(SSH_PACKET_SF_PENDING_BIT, &p->state);
>
> atomic_dec(&ptl->pending.count);
> - list_del(&p->pending_node);
> -
> - list_add_tail(&p->pending_node, &claimed);
> + list_move_tail(&p->pending_node, &claimed);
> }
>
> spin_unlock(&ptl->pending.lock);
> @@ -1957,8 +1955,7 @@ void ssh_ptl_shutdown(struct ssh_ptl *ptl)
> smp_mb__before_atomic();
> clear_bit(SSH_PACKET_SF_QUEUED_BIT, &p->state);
>
> - list_del(&p->queue_node);
> - list_add_tail(&p->queue_node, &complete_q);
> + list_move_tail(&p->queue_node, &complete_q);
> }
> spin_unlock(&ptl->queue.lock);
>
> @@ -1970,8 +1967,7 @@ void ssh_ptl_shutdown(struct ssh_ptl *ptl)
> smp_mb__before_atomic();
> clear_bit(SSH_PACKET_SF_PENDING_BIT, &p->state);
>
> - list_del(&p->pending_node);
> - list_add_tail(&p->pending_node, &complete_q);
> + list_move_tail(&p->pending_node, &complete_q);
> }
> atomic_set(&ptl->pending.count, 0);
> spin_unlock(&ptl->pending.lock);
>