qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/3] net: Flush queues when runstate changes bac


From: Gonglei (Arei)
Subject: Re: [Qemu-devel] [PATCH 2/3] net: Flush queues when runstate changes back to running
Date: Thu, 14 Aug 2014 07:12:39 +0000

Hi,

> Subject: [Qemu-devel] [PATCH 2/3] net: Flush queues when runstate changes
> back to running
> 
> When the runstate changes back to running, we definitely need to flush
> queues to get packets flowing again.
> 
> Here we implement this in the net layer:
> (1) add a member 'VMChangeStateEntry *vmstate' to struct NICState,
> Which will listen for VM runstate changes.

Does this change will block migration during with different QEMU versions?

> (2) Register a handler function for VMstate change.
> When vm changes back to running, we flush all queues in the callback function.
> 
> Signed-off-by: zhanghailiang <address@hidden>
> ---
>  include/net/net.h |  1 +
>  net/net.c         | 26 ++++++++++++++++++++++++++
>  2 files changed, 27 insertions(+)
> 
> diff --git a/include/net/net.h b/include/net/net.h
> index 312f728..a294277 100644
> --- a/include/net/net.h
> +++ b/include/net/net.h
> @@ -97,6 +97,7 @@ typedef struct NICState {
>      NICConf *conf;
>      void *opaque;
>      bool peer_deleted;
> +    VMChangeStateEntry *vmstate;
>  } NICState;
> 
>  NetClientState *qemu_find_netdev(const char *id);
> diff --git a/net/net.c b/net/net.c
> index 5bb2821..506e58f 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -242,6 +242,29 @@ NetClientState *qemu_new_net_client(NetClientInfo
> *info,
>      return nc;
>  }
> 
> +static void nic_vmstate_change_handler(void *opaque,
> +                                       int running,
> +                                       RunState state)
> +{
> +    NICState *nic = opaque;
> +    NetClientState *nc;
> +    int i, queues;
> +
> +    if (!running) {
> +        return;
> +    }
> +
> +    queues =  MAX(1, nic->conf->peers.queues);
              ^
A superfluous space.
 
Best regards,
-Gonglei



reply via email to

[Prev in Thread] Current Thread [Next in Thread]