Message ID | 1564403817-13438-2-git-send-email-matan@mellanox.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Ferruh Yigit |
Headers | show |
Series | [1/2] app/testpmd: fix scatter offload configuration | expand |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
> -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Matan Azrad > Sent: Monday, July 29, 2019 3:37 PM > To: Wenzhuo Lu <wenzhuo.lu@intel.com>; Jingjing Wu > <jingjing.wu@intel.com> > Cc: dev@dpdk.org > Subject: [dpdk-dev] [PATCH 2/2] app/testpmd: add bits per second to > statistics > > Traffic bps statistics is very useful for performance testing. > > Add bits per second statistics for Rx and Tx. > > Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Moti Haimovsky <motih@mellanox.com> > --- > app/test-pmd/config.c | 24 ++++++++++++++++++++---- > 1 file changed, 20 insertions(+), 4 deletions(-) > > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index > 1a5a5c1..88bc716 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -119,9 +119,12 @@ > { > static uint64_t prev_pkts_rx[RTE_MAX_ETHPORTS]; > static uint64_t prev_pkts_tx[RTE_MAX_ETHPORTS]; > + static uint64_t prev_bytes_rx[RTE_MAX_ETHPORTS]; > + static uint64_t prev_bytes_tx[RTE_MAX_ETHPORTS]; > static uint64_t prev_cycles[RTE_MAX_ETHPORTS]; > - uint64_t diff_pkts_rx, diff_pkts_tx, diff_cycles; > - uint64_t mpps_rx, mpps_tx; > + uint64_t diff_pkts_rx, diff_pkts_tx, diff_bytes_rx, diff_bytes_tx, > + diff_cycles; > + uint64_t mpps_rx, mpps_tx, mbps_rx, mbps_tx; > struct rte_eth_stats stats; > struct rte_port *port = &ports[port_id]; > uint8_t i; > @@ -192,9 +195,22 @@ > diff_pkts_rx * rte_get_tsc_hz() / diff_cycles : 0; > mpps_tx = diff_cycles > 0 ? > diff_pkts_tx * rte_get_tsc_hz() / diff_cycles : 0; > + > + diff_bytes_rx = (stats.ibytes > prev_bytes_rx[port_id]) ? > + (stats.ibytes - prev_bytes_rx[port_id]) : 0; > + diff_bytes_tx = (stats.obytes > prev_bytes_tx[port_id]) ? > + (stats.obytes - prev_bytes_tx[port_id]) : 0; > + prev_bytes_rx[port_id] = stats.ibytes; > + prev_bytes_tx[port_id] = stats.obytes; > + mbps_rx = diff_cycles > 0 ? > + diff_bytes_rx * rte_get_tsc_hz() / diff_cycles : 0; > + mbps_tx = diff_cycles > 0 ? > + diff_bytes_tx * rte_get_tsc_hz() / diff_cycles : 0; > + > printf("\n Throughput (since last show)\n"); > - printf(" Rx-pps: %12"PRIu64"\n Tx-pps: %12"PRIu64"\n", > - mpps_rx, mpps_tx); > + printf(" Rx-pps: %12"PRIu64" Rx-bps: %12"PRIu64"\n Tx- > pps: %12" > + PRIu64" Tx-bps: %12"PRIu64"\n", mpps_rx, mbps_rx * 8, > + mpps_tx, mbps_tx * 8); > > printf(" %s############################%s\n", > nic_stats_border, nic_stats_border); > -- > 1.8.3.1
On 7/30/2019 12:41 PM, Moti Haimovsky wrote: >> -----Original Message----- >> From: dev <dev-bounces@dpdk.org> On Behalf Of Matan Azrad >> Sent: Monday, July 29, 2019 3:37 PM >> To: Wenzhuo Lu <wenzhuo.lu@intel.com>; Jingjing Wu >> <jingjing.wu@intel.com> >> Cc: dev@dpdk.org >> Subject: [dpdk-dev] [PATCH 2/2] app/testpmd: add bits per second to >> statistics >> >> Traffic bps statistics is very useful for performance testing. >> >> Add bits per second statistics for Rx and Tx. >> >> Signed-off-by: Matan Azrad <matan@mellanox.com> > Acked-by: Moti Haimovsky <motih@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Applied to dpdk-next-net/master, thanks.
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 1a5a5c1..88bc716 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -119,9 +119,12 @@ { static uint64_t prev_pkts_rx[RTE_MAX_ETHPORTS]; static uint64_t prev_pkts_tx[RTE_MAX_ETHPORTS]; + static uint64_t prev_bytes_rx[RTE_MAX_ETHPORTS]; + static uint64_t prev_bytes_tx[RTE_MAX_ETHPORTS]; static uint64_t prev_cycles[RTE_MAX_ETHPORTS]; - uint64_t diff_pkts_rx, diff_pkts_tx, diff_cycles; - uint64_t mpps_rx, mpps_tx; + uint64_t diff_pkts_rx, diff_pkts_tx, diff_bytes_rx, diff_bytes_tx, + diff_cycles; + uint64_t mpps_rx, mpps_tx, mbps_rx, mbps_tx; struct rte_eth_stats stats; struct rte_port *port = &ports[port_id]; uint8_t i; @@ -192,9 +195,22 @@ diff_pkts_rx * rte_get_tsc_hz() / diff_cycles : 0; mpps_tx = diff_cycles > 0 ? diff_pkts_tx * rte_get_tsc_hz() / diff_cycles : 0; + + diff_bytes_rx = (stats.ibytes > prev_bytes_rx[port_id]) ? + (stats.ibytes - prev_bytes_rx[port_id]) : 0; + diff_bytes_tx = (stats.obytes > prev_bytes_tx[port_id]) ? + (stats.obytes - prev_bytes_tx[port_id]) : 0; + prev_bytes_rx[port_id] = stats.ibytes; + prev_bytes_tx[port_id] = stats.obytes; + mbps_rx = diff_cycles > 0 ? + diff_bytes_rx * rte_get_tsc_hz() / diff_cycles : 0; + mbps_tx = diff_cycles > 0 ? + diff_bytes_tx * rte_get_tsc_hz() / diff_cycles : 0; + printf("\n Throughput (since last show)\n"); - printf(" Rx-pps: %12"PRIu64"\n Tx-pps: %12"PRIu64"\n", - mpps_rx, mpps_tx); + printf(" Rx-pps: %12"PRIu64" Rx-bps: %12"PRIu64"\n Tx-pps: %12" + PRIu64" Tx-bps: %12"PRIu64"\n", mpps_rx, mbps_rx * 8, + mpps_tx, mbps_tx * 8); printf(" %s############################%s\n", nic_stats_border, nic_stats_border);
Traffic bps statistics is very useful for performance testing. Add bits per second statistics for Rx and Tx. Signed-off-by: Matan Azrad <matan@mellanox.com> --- app/test-pmd/config.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-)