[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJ3xEMiNDU20FVG_9_r11wqMmAFiERBTYcsFmjwaSfbZ25NOiQ@mail.gmail.com>
Date: Thu, 21 Jan 2016 00:34:16 +0200
From: Or Gerlitz <gerlitz.or@...il.com>
To: Jesper Dangaard Brouer <brouer@...hat.com>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Or Gerlitz <ogerlitz@...lanox.com>
Subject: Re: Tools for sampling ethtool --statistics
On Wed, Jan 20, 2016 at 11:13 AM, Jesper Dangaard Brouer
<brouer@...hat.com> wrote:
> Hi All,
>
> I wrote a small tool[1] to extract ethtool --statistics|-S, sample and
> present it in a more human readable manor. You might also find this
> useful...
>
> https://github.com/netoptimizer/network-testing/blob/master/bin/ethtool_stats.pl
>
> The reason I wrote this script is that the mlx5 driver (Mellanox 100 Gbit/s)
> does not report correct ifconfig stats. It reports the HW counters,
> not what the network stack is able to handle. I/we obviously need the
> stack number when working on improving the stack.
correct && we should be fixing that ... still it's worthwhile to be
able and see per ring stats, specially when you're dealing/optimizing
in multi-stream env.
> Output examples:
>
> pktgen (1 core) sending ~20Mpps
>
> Show adapter mlx5p2 statistics (ONLY that changed!)
> Ethtool(mlx5p2) stat: 19431694 ( 19,431,694) <= frames_rx /sec
> Ethtool(mlx5p2) stat: 1243722215 ( 1,243,722,215) <= in_octets /sec
> Ethtool(mlx5p2) stat: 19433161 ( 19,433,161) <= in_ucast_pkts /sec
> Ethtool(mlx5p2) stat: 1243746943 ( 1,243,746,943) <= octets /sec
> Ethtool(mlx5p2) stat: 1243629263 ( 1,243,629,263) <= octets_received /sec
> Ethtool(mlx5p2) stat: 19433654 ( 19,433,654) <= p64octets /sec
> Ethtool(mlx5p2) stat: 19433556 ( 19,433,556) <= pkts /sec
> Ethtool(mlx5p2) stat: 1815546 ( 1,815,546) <= rx3_packets /sec
> Ethtool(mlx5p2) stat: 1165854821 ( 1,165,854,821) <= rx_bytes /sec
> Ethtool(mlx5p2) stat: 19430906 ( 19,430,906) <= rx_csum_good /sec
> Ethtool(mlx5p2) stat: 19430906 ( 19,430,906) <= rx_packets /sec
> Ethtool(mlx5p2) stat: 1165854821 ( 1,165,854,821) <= rx_unicast_bytes /sec
> Ethtool(mlx5p2) stat: 19430906 ( 19,430,906) <= rx_unicast_packets /sec
was expecting to see tx_XXX stats, something wrong here?
> pktgen (4 cores) sending ~50Mpps
[...]
The 20M for single ring/core and 50M pps for four streams are really
cool results. Do the scripts to get ~such results exist in your
network testing github repo? last time I looked I wasn't sure if the
multi-stream case is supported.
Could you post the two commands you used for these results along with
minimal spec of the system (CPU type/freq, special .config directives,
anything else)?
Or.
> Show adapter mlx5p2 statistics (ONLY that changed!)
> Ethtool(mlx5p2) stat: 25710443 ( 25,710,443) <= drop_events /sec
> Ethtool(mlx5p2) stat: 51861645 ( 51,861,645) <= frames_rx /sec
> Ethtool(mlx5p2) stat: 25710502 ( 25,710,502) <= in_discards /sec
> Ethtool(mlx5p2) stat: 3319134161 ( 3,319,134,161) <= in_octets /sec
> Ethtool(mlx5p2) stat: 26150970 ( 26,150,970) <= in_ucast_pkts /sec
> Ethtool(mlx5p2) stat: 3319128053 ( 3,319,128,053) <= octets /sec
> Ethtool(mlx5p2) stat: 3319145319 ( 3,319,145,319) <= octets_received /sec
> Ethtool(mlx5p2) stat: 51861369 ( 51,861,369) <= p64octets /sec
> Ethtool(mlx5p2) stat: 51861375 ( 51,861,375) <= pkts /sec
> Ethtool(mlx5p2) stat: 1383475 ( 1,383,475) <= rx3_packets /sec
> Ethtool(mlx5p2) stat: 1569059171 ( 1,569,059,171) <= rx_bytes /sec
> Ethtool(mlx5p2) stat: 26150988 ( 26,150,988) <= rx_csum_good /sec
> Ethtool(mlx5p2) stat: 26150988 ( 26,150,988) <= rx_packets /sec
> Ethtool(mlx5p2) stat: 1569059171 ( 1,569,059,171) <= rx_unicast_bytes /sec
> Ethtool(mlx5p2) stat: 26150988 ( 26,150,988) <= rx_unicast_packets /sec
Powered by blists - more mailing lists