[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH 1/3] colo-compare: return -1 if no packet is queued
From: |
Zhang, Chen |
Subject: |
RE: [PATCH 1/3] colo-compare: return -1 if no packet is queued |
Date: |
Wed, 23 Sep 2020 06:51:19 +0000 |
> -----Original Message-----
> From: Li Zhijian <lizhijian@cn.fujitsu.com>
> Sent: Wednesday, September 23, 2020 2:18 PM
> To: Zhang, Chen <chen.zhang@intel.com>; jasowang@redhat.com
> Cc: qemu-devel@nongnu.org
> Subject: Re: [PATCH 1/3] colo-compare: return -1 if no packet is queued
>
>
>
> On 9/23/20 9:41 AM, Zhang, Chen wrote:
> >
> >> -----Original Message-----
> >> From: Li Zhijian <lizhijian@cn.fujitsu.com>
> >> Sent: Tuesday, September 22, 2020 5:55 PM
> >> To: Zhang, Chen <chen.zhang@intel.com>; jasowang@redhat.com
> >> Cc: qemu-devel@nongnu.org; Li Zhijian <lizhijian@cn.fujitsu.com>
> >> Subject: [PATCH 1/3] colo-compare: return -1 if no packet is queued
> >>
> >> Return 0 will trigger a packet comparison
> >>
> > Yes, we need active trigger a checkpoint to flush all the queued packets
> here.
> Previously, no new checkpoint will be triggered since no new packet is
> queued though colo_compare_connection() is called.
> actually we should send a notify to colo frame immediately, no need to
> compare them any more in order to less latency.
Yes, you are right. We can change this patch to directly send notify here.
Thanks
Zhang Chen
>
> diff --git a/net/colo-compare.c b/net/colo-compare.c index
> 3a45d64175..23092e4496 100644
> --- a/net/colo-compare.c
> +++ b/net/colo-compare.c
> @@ -285,10 +285,13 @@ static int packet_enqueue(CompareState *s, int
> mode, Connection **con)
> }
>
> if (!ret) {
> + /* queue is too long, do a checkpoint to release all queued
> +packets */
> + colo_compare_inconsistency_notify(s);
> trace_colo_compare_drop_packet(colo_mode[mode],
> "queue size too big, drop packet");
> packet_destroy(pkt, NULL);
> pkt = NULL;
> + return -1;
> }
>
> *con = conn;
>
>
> > Otherwise, we should drop all the packet after this time still next
> checkpoint.
> > So, I think original logic is a better choice.
> >
> > Thanks
> > Zhang Chen
> >
> >> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
> >> ---
> >> net/colo-compare.c | 1 +
> >> 1 file changed, 1 insertion(+)
> >>
> >> diff --git a/net/colo-compare.c b/net/colo-compare.c index
> >> 3a45d64175..039b515611 100644
> >> --- a/net/colo-compare.c
> >> +++ b/net/colo-compare.c
> >> @@ -289,6 +289,7 @@ static int packet_enqueue(CompareState *s, int
> >> mode, Connection **con)
> >> "queue size too big, drop packet");
> >> packet_destroy(pkt, NULL);
> >> pkt = NULL;
> >> + return -1;
> >> }
> >>
> >> *con = conn;
> >> --
> >> 2.28.0
> >>
> >>
> >
> >
>
>