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

Re: [Xen-devel] [PATCH] xen-netback: vif counters from int/long to u64



> -----Original Message-----
> From: Xen-devel [mailto:xen-devel-bounces@xxxxxxxxxxxxx] On Behalf Of
> Mart van Santen
> Sent: 10 February 2017 12:02
> To: Wei Liu <wei.liu2@xxxxxxxxxx>; Paul Durrant <Paul.Durrant@xxxxxxxxxx>;
> xen-devel@xxxxxxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx
> Cc: Mart van Santen <mart@xxxxxxxxxxxx>
> Subject: [Xen-devel] [PATCH] xen-netback: vif counters from int/long to u64
> 
> This patch fixes an issue where the type of counters in the queue(s)
> and interface are not in sync (queue counters are int, interface
> counters are long), causing incorrect reporting of tx/rx values
> of the vif interface and unclear counter overflows.
> This patch sets both counters to the u64 type.
> 
> Signed-off-by: Mart van Santen <mart@xxxxxxxxxxxx>

Looks sensible to me.

Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx>

> ---
>  drivers/net/xen-netback/common.h    | 8 ++++----
>  drivers/net/xen-netback/interface.c | 8 ++++----
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-
> netback/common.h
> index 3ce1f7d..530586b 100644
> --- a/drivers/net/xen-netback/common.h
> +++ b/drivers/net/xen-netback/common.h
> @@ -113,10 +113,10 @@ struct xenvif_stats {
>        * A subset of struct net_device_stats that contains only the
>        * fields that are updated in netback.c for each queue.
>        */
> -     unsigned int rx_bytes;
> -     unsigned int rx_packets;
> -     unsigned int tx_bytes;
> -     unsigned int tx_packets;
> +     u64 rx_bytes;
> +     u64 rx_packets;
> +     u64 tx_bytes;
> +     u64 tx_packets;
> 
>       /* Additional stats used by xenvif */
>       unsigned long rx_gso_checksum_fixup;
> diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-
> netback/interface.c
> index 5795213..50fa169 100644
> --- a/drivers/net/xen-netback/interface.c
> +++ b/drivers/net/xen-netback/interface.c
> @@ -221,10 +221,10 @@ static struct net_device_stats
> *xenvif_get_stats(struct net_device *dev)
>  {
>       struct xenvif *vif = netdev_priv(dev);
>       struct xenvif_queue *queue = NULL;
> -     unsigned long rx_bytes = 0;
> -     unsigned long rx_packets = 0;
> -     unsigned long tx_bytes = 0;
> -     unsigned long tx_packets = 0;
> +     u64 rx_bytes = 0;
> +     u64 rx_packets = 0;
> +     u64 tx_bytes = 0;
> +     u64 tx_packets = 0;
>       unsigned int index;
> 
>       spin_lock(&vif->lock);
> --
> 2.1.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> https://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.