diff mbox series

[2/2] net/colo-compare.c: Optimize removal of secondary packet

Message ID fa4d5eb0bb2ea3f247af5bb7792499cf9cd56a14.1605438886.git.lukasstraub2@web.de
State New
Headers show
Series colo-compare: Fix memory leak for non-tcp packet | expand

Commit Message

Lukas Straub Nov. 15, 2020, 11:19 a.m. UTC
g_queue_remove needs to look up the list entry first, but we
already have it as result and can remove it directly with
g_queue_delete_link.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
---
 net/colo-compare.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--
2.20.1

Comments

Zhang, Chen Nov. 16, 2020, 7:31 a.m. UTC | #1
> -----Original Message-----
> From: Lukas Straub <lukasstraub2@web.de>
> Sent: Sunday, November 15, 2020 7:19 PM
> To: qemu-devel <qemu-devel@nongnu.org>
> Cc: Zhang, Chen <chen.zhang@intel.com>; Li Zhijian
> <lizhijian@cn.fujitsu.com>; Jason Wang <jasowang@redhat.com>
> Subject: [PATCH 2/2] net/colo-compare.c: Optimize removal of secondary
> packet
> 
> g_queue_remove needs to look up the list entry first, but we already have it
> as result and can remove it directly with g_queue_delete_link.
> 
> Signed-off-by: Lukas Straub <lukasstraub2@web.de>

Reviewed-by: Zhang Chen <chen.zhang@intel.com>

Thanks
Chen

> ---
>  net/colo-compare.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/colo-compare.c b/net/colo-compare.c index
> eed0fbb27b..4e2af8ff00 100644
> --- a/net/colo-compare.c
> +++ b/net/colo-compare.c
> @@ -691,7 +691,7 @@ static void colo_compare_packet(CompareState *s,
> Connection *conn,
>          if (result) {
>              colo_release_primary_pkt(s, pkt);
>              packet_destroy(result->data, NULL);
> -            g_queue_remove(&conn->secondary_list, result->data);
> +            g_queue_delete_link(&conn->secondary_list, result);
>          } else {
>              /*
>               * If one packet arrive late, the secondary_list or
> --
> 2.20.1
diff mbox series

Patch

diff --git a/net/colo-compare.c b/net/colo-compare.c
index eed0fbb27b..4e2af8ff00 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -691,7 +691,7 @@  static void colo_compare_packet(CompareState *s, Connection *conn,
         if (result) {
             colo_release_primary_pkt(s, pkt);
             packet_destroy(result->data, NULL);
-            g_queue_remove(&conn->secondary_list, result->data);
+            g_queue_delete_link(&conn->secondary_list, result);
         } else {
             /*
              * If one packet arrive late, the secondary_list or