* [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds @ 2019-07-25 9:14 David Marchand 2019-07-25 9:14 ` [dpdk-dev] [PATCH 1/8] net/af_packet: remove unused Rx counter David Marchand ` (8 more replies) 0 siblings, 9 replies; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit I did a pass on the pmds about oerrors some time ago, but still did not find the motivation to finish yet. For now, here is a series of cleanups on the virtual pmds. The former patches are just about removing counters that adds nothing to the stats. The latter patches make sure that unsent packets (because of a temporary situation) are not added to oerrors since an application can decide to send them again later. Wrt oerrors, the pcap pmd should be fixed with the series [1]. But the tap pmd still needs to be inspected. 1: https://patchwork.dpdk.org/project/dpdk/list/?series=5701 -- David Marchand David Marchand (8): net/af_packet: remove unused Rx counter net/af_xdp: remove unused Tx counter net/null: remove unused Tx error counter net/virtio: remove unused Tx error counter net/kni: do not count unsent packets as errors net/memif: do not count unsent packets as errors net/ring: do not count unsent packets as errors net/vhost: do not count unsent packets as errors drivers/net/af_packet/rte_eth_af_packet.c | 1 - drivers/net/af_xdp/rte_eth_af_xdp.c | 2 -- drivers/net/kni/rte_eth_kni.c | 3 --- drivers/net/memif/rte_eth_memif.c | 2 -- drivers/net/null/rte_eth_null.c | 9 ++------- drivers/net/ring/rte_eth_ring.c | 4 +--- drivers/net/vhost/rte_eth_vhost.c | 4 +--- drivers/net/virtio/virtio_ethdev.c | 3 --- 8 files changed, 4 insertions(+), 24 deletions(-) -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH 1/8] net/af_packet: remove unused Rx counter 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand @ 2019-07-25 9:14 ` David Marchand 2019-07-25 16:06 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 2/8] net/af_xdp: remove unused Tx counter David Marchand ` (7 subsequent siblings) 8 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, John W. Linville This Rx counter has never been used. Fixes: 364e08f2bbc0 ("af_packet: add PMD for AF_PACKET-based virtual devices") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/af_packet/rte_eth_af_packet.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c index 2f6508f..82bf2cd 100644 --- a/drivers/net/af_packet/rte_eth_af_packet.c +++ b/drivers/net/af_packet/rte_eth_af_packet.c @@ -51,7 +51,6 @@ struct pkt_rx_queue { uint16_t in_port; volatile unsigned long rx_pkts; - volatile unsigned long err_pkts; volatile unsigned long rx_bytes; }; -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 1/8] net/af_packet: remove unused Rx counter 2019-07-25 9:14 ` [dpdk-dev] [PATCH 1/8] net/af_packet: remove unused Rx counter David Marchand @ 2019-07-25 16:06 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-25 16:06 UTC (permalink / raw) To: David Marchand, dev; +Cc: stable, John W. Linville On 7/25/2019 10:14 AM, David Marchand wrote: > This Rx counter has never been used. > > Fixes: 364e08f2bbc0 ("af_packet: add PMD for AF_PACKET-based virtual devices") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH 2/8] net/af_xdp: remove unused Tx counter 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand 2019-07-25 9:14 ` [dpdk-dev] [PATCH 1/8] net/af_packet: remove unused Rx counter David Marchand @ 2019-07-25 9:14 ` David Marchand 2019-07-25 15:49 ` Ye Xiaolong 2019-07-25 9:14 ` [dpdk-dev] [PATCH 3/8] net/null: remove unused Tx error counter David Marchand ` (6 subsequent siblings) 8 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, Xiaolong Ye, Qi Zhang This Tx counter is now unused. Fixes: 10edf857fde4 ("net/af_xdp: make reserve/submit peek/release consistent") Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/af_xdp/rte_eth_af_xdp.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index 33352e1..41ed5b2 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -97,7 +97,6 @@ struct pkt_rx_queue { struct tx_stats { uint64_t tx_pkts; - uint64_t err_pkts; uint64_t tx_bytes; }; @@ -456,7 +455,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->imissed += xdp_stats.rx_dropped; stats->opackets += stats->q_opackets[i]; - stats->oerrors += txq->stats.err_pkts; stats->obytes += stats->q_obytes[i]; } -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 2/8] net/af_xdp: remove unused Tx counter 2019-07-25 9:14 ` [dpdk-dev] [PATCH 2/8] net/af_xdp: remove unused Tx counter David Marchand @ 2019-07-25 15:49 ` Ye Xiaolong 2019-07-25 19:04 ` David Marchand 0 siblings, 1 reply; 37+ messages in thread From: Ye Xiaolong @ 2019-07-25 15:49 UTC (permalink / raw) To: David Marchand; +Cc: dev, ferruh.yigit, Qi Zhang On 07/25, David Marchand wrote: >This Tx counter is now unused. > >Fixes: 10edf857fde4 ("net/af_xdp: make reserve/submit peek/release consistent") err_pkts seems not introduced by this commit? > >Signed-off-by: David Marchand <david.marchand@redhat.com> >--- > drivers/net/af_xdp/rte_eth_af_xdp.c | 2 -- > 1 file changed, 2 deletions(-) > >diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c >index 33352e1..41ed5b2 100644 >--- a/drivers/net/af_xdp/rte_eth_af_xdp.c >+++ b/drivers/net/af_xdp/rte_eth_af_xdp.c >@@ -97,7 +97,6 @@ struct pkt_rx_queue { > > struct tx_stats { > uint64_t tx_pkts; >- uint64_t err_pkts; > uint64_t tx_bytes; > }; > >@@ -456,7 +455,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > stats->imissed += xdp_stats.rx_dropped; > > stats->opackets += stats->q_opackets[i]; >- stats->oerrors += txq->stats.err_pkts; > stats->obytes += stats->q_obytes[i]; > } > >-- >1.8.3.1 > Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 2/8] net/af_xdp: remove unused Tx counter 2019-07-25 15:49 ` Ye Xiaolong @ 2019-07-25 19:04 ` David Marchand 2019-07-26 1:33 ` Ye Xiaolong 0 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 19:04 UTC (permalink / raw) To: Ye Xiaolong; +Cc: dev, Yigit, Ferruh, Qi Zhang On Thu, Jul 25, 2019 at 5:49 PM Ye Xiaolong <xiaolong.ye@intel.com> wrote: > > On 07/25, David Marchand wrote: > >This Tx counter is now unused. > > > >Fixes: 10edf857fde4 ("net/af_xdp: make reserve/submit peek/release consistent") > > err_pkts seems not introduced by this commit? This commit removed the only place where it was used. > > > > >Signed-off-by: David Marchand <david.marchand@redhat.com> > >--- > > drivers/net/af_xdp/rte_eth_af_xdp.c | 2 -- > > 1 file changed, 2 deletions(-) > > > >diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c > >index 33352e1..41ed5b2 100644 > >--- a/drivers/net/af_xdp/rte_eth_af_xdp.c > >+++ b/drivers/net/af_xdp/rte_eth_af_xdp.c > >@@ -97,7 +97,6 @@ struct pkt_rx_queue { > > > > struct tx_stats { > > uint64_t tx_pkts; > >- uint64_t err_pkts; > > uint64_t tx_bytes; > > }; > > > >@@ -456,7 +455,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > > stats->imissed += xdp_stats.rx_dropped; > > > > stats->opackets += stats->q_opackets[i]; > >- stats->oerrors += txq->stats.err_pkts; > > stats->obytes += stats->q_obytes[i]; > > } > > > >-- > >1.8.3.1 > > > > Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com> Thanks. -- David Marchand ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 2/8] net/af_xdp: remove unused Tx counter 2019-07-25 19:04 ` David Marchand @ 2019-07-26 1:33 ` Ye Xiaolong 0 siblings, 0 replies; 37+ messages in thread From: Ye Xiaolong @ 2019-07-26 1:33 UTC (permalink / raw) To: David Marchand; +Cc: dev, Yigit, Ferruh, Qi Zhang On 07/25, David Marchand wrote: >On Thu, Jul 25, 2019 at 5:49 PM Ye Xiaolong <xiaolong.ye@intel.com> wrote: >> >> On 07/25, David Marchand wrote: >> >This Tx counter is now unused. >> > >> >Fixes: 10edf857fde4 ("net/af_xdp: make reserve/submit peek/release consistent") >> >> err_pkts seems not introduced by this commit? > >This commit removed the only place where it was used. > Got it, make sense. Thanks, Xiaolong >> >> > >> >Signed-off-by: David Marchand <david.marchand@redhat.com> >> >--- >> > drivers/net/af_xdp/rte_eth_af_xdp.c | 2 -- >> > 1 file changed, 2 deletions(-) >> > >> >diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c >> >index 33352e1..41ed5b2 100644 >> >--- a/drivers/net/af_xdp/rte_eth_af_xdp.c >> >+++ b/drivers/net/af_xdp/rte_eth_af_xdp.c >> >@@ -97,7 +97,6 @@ struct pkt_rx_queue { >> > >> > struct tx_stats { >> > uint64_t tx_pkts; >> >- uint64_t err_pkts; >> > uint64_t tx_bytes; >> > }; >> > >> >@@ -456,7 +455,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) >> > stats->imissed += xdp_stats.rx_dropped; >> > >> > stats->opackets += stats->q_opackets[i]; >> >- stats->oerrors += txq->stats.err_pkts; >> > stats->obytes += stats->q_obytes[i]; >> > } >> > >> >-- >> >1.8.3.1 >> > >> >> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com> > >Thanks. > >-- >David Marchand ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH 3/8] net/null: remove unused Tx error counter 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand 2019-07-25 9:14 ` [dpdk-dev] [PATCH 1/8] net/af_packet: remove unused Rx counter David Marchand 2019-07-25 9:14 ` [dpdk-dev] [PATCH 2/8] net/af_xdp: remove unused Tx counter David Marchand @ 2019-07-25 9:14 ` David Marchand 2019-07-25 16:06 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 4/8] net/virtio: " David Marchand ` (5 subsequent siblings) 8 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, Tetsuya Mukawa This Tx counter has never been used. Fixes: c743e50c475f ("null: new poll mode driver") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/null/rte_eth_null.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c index 31cbb84..b2c92ab 100644 --- a/drivers/net/null/rte_eth_null.c +++ b/drivers/net/null/rte_eth_null.c @@ -62,7 +62,6 @@ struct null_queue { rte_atomic64_t rx_pkts; rte_atomic64_t tx_pkts; - rte_atomic64_t err_pkts; }; struct pmd_internals { @@ -311,7 +310,7 @@ static int eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *igb_stats) { unsigned i, num_stats; - unsigned long rx_total = 0, tx_total = 0, tx_err_total = 0; + unsigned long rx_total = 0, tx_total = 0; const struct pmd_internals *internal; if ((dev == NULL) || (igb_stats == NULL)) @@ -334,12 +333,10 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *igb_stats) igb_stats->q_opackets[i] = internal->tx_null_queues[i].tx_pkts.cnt; tx_total += igb_stats->q_opackets[i]; - tx_err_total += internal->tx_null_queues[i].err_pkts.cnt; } igb_stats->ipackets = rx_total; igb_stats->opackets = tx_total; - igb_stats->oerrors = tx_err_total; return 0; } @@ -356,10 +353,8 @@ eth_stats_reset(struct rte_eth_dev *dev) internal = dev->data->dev_private; for (i = 0; i < RTE_DIM(internal->rx_null_queues); i++) internal->rx_null_queues[i].rx_pkts.cnt = 0; - for (i = 0; i < RTE_DIM(internal->tx_null_queues); i++) { + for (i = 0; i < RTE_DIM(internal->tx_null_queues); i++) internal->tx_null_queues[i].tx_pkts.cnt = 0; - internal->tx_null_queues[i].err_pkts.cnt = 0; - } } static void -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 3/8] net/null: remove unused Tx error counter 2019-07-25 9:14 ` [dpdk-dev] [PATCH 3/8] net/null: remove unused Tx error counter David Marchand @ 2019-07-25 16:06 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-25 16:06 UTC (permalink / raw) To: David Marchand, dev; +Cc: stable, Tetsuya Mukawa On 7/25/2019 10:14 AM, David Marchand wrote: > This Tx counter has never been used. > > Fixes: c743e50c475f ("null: new poll mode driver") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH 4/8] net/virtio: remove unused Tx error counter 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand ` (2 preceding siblings ...) 2019-07-25 9:14 ` [dpdk-dev] [PATCH 3/8] net/null: remove unused Tx error counter David Marchand @ 2019-07-25 9:14 ` David Marchand 2019-07-26 2:39 ` Tiwei Bie 2019-07-25 9:14 ` [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors David Marchand ` (4 subsequent siblings) 8 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, Maxime Coquelin, Tiwei Bie, Zhihong Wang This Tx counter has never been used. Fixes: 9658d17da27b ("virtio: maintain stats per queue") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/virtio/virtio_ethdev.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 62c8274..20840bf 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -121,7 +121,6 @@ static const struct rte_virtio_xstats_name_off rte_virtio_rxq_stat_strings[] = { static const struct rte_virtio_xstats_name_off rte_virtio_txq_stat_strings[] = { {"good_packets", offsetof(struct virtnet_tx, stats.packets)}, {"good_bytes", offsetof(struct virtnet_tx, stats.bytes)}, - {"errors", offsetof(struct virtnet_tx, stats.errors)}, {"multicast_packets", offsetof(struct virtnet_tx, stats.multicast)}, {"broadcast_packets", offsetof(struct virtnet_tx, stats.broadcast)}, {"undersize_packets", offsetof(struct virtnet_tx, stats.size_bins[0])}, @@ -944,7 +943,6 @@ virtio_update_stats(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->opackets += txvq->stats.packets; stats->obytes += txvq->stats.bytes; - stats->oerrors += txvq->stats.errors; if (i < RTE_ETHDEV_QUEUE_STAT_CNTRS) { stats->q_opackets[i] = txvq->stats.packets; @@ -1082,7 +1080,6 @@ virtio_dev_stats_reset(struct rte_eth_dev *dev) txvq->stats.packets = 0; txvq->stats.bytes = 0; - txvq->stats.errors = 0; txvq->stats.multicast = 0; txvq->stats.broadcast = 0; memset(txvq->stats.size_bins, 0, -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 4/8] net/virtio: remove unused Tx error counter 2019-07-25 9:14 ` [dpdk-dev] [PATCH 4/8] net/virtio: " David Marchand @ 2019-07-26 2:39 ` Tiwei Bie 0 siblings, 0 replies; 37+ messages in thread From: Tiwei Bie @ 2019-07-26 2:39 UTC (permalink / raw) To: David Marchand; +Cc: dev, ferruh.yigit, stable, Maxime Coquelin, Zhihong Wang On Thu, Jul 25, 2019 at 11:14:24AM +0200, David Marchand wrote: > This Tx counter has never been used. > > Fixes: 9658d17da27b ("virtio: maintain stats per queue") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > drivers/net/virtio/virtio_ethdev.c | 3 --- > 1 file changed, 3 deletions(-) Reviewed-by: Tiwei Bie <tiwei.bie@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand ` (3 preceding siblings ...) 2019-07-25 9:14 ` [dpdk-dev] [PATCH 4/8] net/virtio: " David Marchand @ 2019-07-25 9:14 ` David Marchand 2019-07-25 16:12 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 6/8] net/memif: " David Marchand ` (3 subsequent siblings) 8 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable err_pkts reflects the number of packets that the driver did not manage to send. This is a temporary situation, those packets are not freed and the application can still retry to send them later. Hence, we can't count them as transmit failed. Fixes: 75e2bc54c018 ("net/kni: add KNI PMD") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/kni/rte_eth_kni.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c index 9e0c6bd..8026566 100644 --- a/drivers/net/kni/rte_eth_kni.c +++ b/drivers/net/kni/rte_eth_kni.c @@ -270,7 +270,6 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) unsigned long rx_packets_total = 0, rx_bytes_total = 0; unsigned long tx_packets_total = 0, tx_bytes_total = 0; struct rte_eth_dev_data *data = dev->data; - unsigned long tx_packets_err_total = 0; unsigned int i, num_stats; struct pmd_queue *q; @@ -292,14 +291,12 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->q_obytes[i] = q->tx.bytes; tx_packets_total += stats->q_opackets[i]; tx_bytes_total += stats->q_obytes[i]; - tx_packets_err_total += q->tx.err_pkts; } stats->ipackets = rx_packets_total; stats->ibytes = rx_bytes_total; stats->opackets = tx_packets_total; stats->obytes = tx_bytes_total; - stats->oerrors = tx_packets_err_total; return 0; } -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors 2019-07-25 9:14 ` [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors David Marchand @ 2019-07-25 16:12 ` Ferruh Yigit 2019-07-25 19:07 ` David Marchand 0 siblings, 1 reply; 37+ messages in thread From: Ferruh Yigit @ 2019-07-25 16:12 UTC (permalink / raw) To: David Marchand, dev; +Cc: stable On 7/25/2019 10:14 AM, David Marchand wrote: > err_pkts reflects the number of packets that the driver did not manage to > send. > This is a temporary situation, those packets are not freed and the > application can still retry to send them later. > Hence, we can't count them as transmit failed. 'err_pkts' seems calculated wrong both in Rx & Tx and KNI PMD, looks like we can remove it completely, what do you think? > > Fixes: 75e2bc54c018 ("net/kni: add KNI PMD") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > drivers/net/kni/rte_eth_kni.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c > index 9e0c6bd..8026566 100644 > --- a/drivers/net/kni/rte_eth_kni.c > +++ b/drivers/net/kni/rte_eth_kni.c > @@ -270,7 +270,6 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > unsigned long rx_packets_total = 0, rx_bytes_total = 0; > unsigned long tx_packets_total = 0, tx_bytes_total = 0; > struct rte_eth_dev_data *data = dev->data; > - unsigned long tx_packets_err_total = 0; > unsigned int i, num_stats; > struct pmd_queue *q; > > @@ -292,14 +291,12 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > stats->q_obytes[i] = q->tx.bytes; > tx_packets_total += stats->q_opackets[i]; > tx_bytes_total += stats->q_obytes[i]; > - tx_packets_err_total += q->tx.err_pkts; > } > > stats->ipackets = rx_packets_total; > stats->ibytes = rx_bytes_total; > stats->opackets = tx_packets_total; > stats->obytes = tx_bytes_total; > - stats->oerrors = tx_packets_err_total; > > return 0; > } > ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors 2019-07-25 16:12 ` Ferruh Yigit @ 2019-07-25 19:07 ` David Marchand 2019-07-26 7:24 ` David Marchand 0 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 19:07 UTC (permalink / raw) To: Ferruh Yigit; +Cc: dev, dpdk stable On Thu, Jul 25, 2019 at 6:12 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote: > > On 7/25/2019 10:14 AM, David Marchand wrote: > > err_pkts reflects the number of packets that the driver did not manage to > > send. > > This is a temporary situation, those packets are not freed and the > > application can still retry to send them later. > > Hence, we can't count them as transmit failed. > > 'err_pkts' seems calculated wrong both in Rx & Tx and KNI PMD, looks like we can > remove it completely, what do you think? On the rx side, I agree that err_pkts makes little sense. On the tx side, it can be seen as a "tx full" counter. So not sure about the tx side, but I sure can remove the rx part (in a separate patch?). -- David Marchand ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors 2019-07-25 19:07 ` David Marchand @ 2019-07-26 7:24 ` David Marchand 2019-07-26 10:17 ` Ferruh Yigit 0 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-26 7:24 UTC (permalink / raw) To: Ferruh Yigit; +Cc: dev, dpdk stable On Thu, Jul 25, 2019 at 9:07 PM David Marchand <david.marchand@redhat.com> wrote: > > On Thu, Jul 25, 2019 at 6:12 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote: > > > > On 7/25/2019 10:14 AM, David Marchand wrote: > > > err_pkts reflects the number of packets that the driver did not manage to > > > send. > > > This is a temporary situation, those packets are not freed and the > > > application can still retry to send them later. > > > Hence, we can't count them as transmit failed. > > > > 'err_pkts' seems calculated wrong both in Rx & Tx and KNI PMD, looks like we can > > remove it completely, what do you think? > > On the rx side, I agree that err_pkts makes little sense. > On the tx side, it can be seen as a "tx full" counter. > > So not sure about the tx side, but I sure can remove the rx part (in a > separate patch?). On second thought, we have nothing to report "tx full" for now (unless adding xstats support but it is too late for 19.08). I will go with dropping those bits if you are still okay with this (and idem with the others drivers for which you commented in the same way). -- David Marchand ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors 2019-07-26 7:24 ` David Marchand @ 2019-07-26 10:17 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-26 10:17 UTC (permalink / raw) To: David Marchand; +Cc: dev, dpdk stable On 7/26/2019 8:24 AM, David Marchand wrote: > On Thu, Jul 25, 2019 at 9:07 PM David Marchand > <david.marchand@redhat.com> wrote: >> >> On Thu, Jul 25, 2019 at 6:12 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote: >>> >>> On 7/25/2019 10:14 AM, David Marchand wrote: >>>> err_pkts reflects the number of packets that the driver did not manage to >>>> send. >>>> This is a temporary situation, those packets are not freed and the >>>> application can still retry to send them later. >>>> Hence, we can't count them as transmit failed. >>> >>> 'err_pkts' seems calculated wrong both in Rx & Tx and KNI PMD, looks like we can >>> remove it completely, what do you think? >> >> On the rx side, I agree that err_pkts makes little sense. >> On the tx side, it can be seen as a "tx full" counter. >> >> So not sure about the tx side, but I sure can remove the rx part (in a >> separate patch?). > > On second thought, we have nothing to report "tx full" for now (unless > adding xstats support but it is too late for 19.08). > I will go with dropping those bits if you are still okay with this +1 to drop, thanks. > (and idem with the others drivers for which you commented in the same > way). > > ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH 6/8] net/memif: do not count unsent packets as errors 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand ` (4 preceding siblings ...) 2019-07-25 9:14 ` [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors David Marchand @ 2019-07-25 9:14 ` David Marchand 2019-07-25 16:18 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 7/8] net/ring: " David Marchand ` (2 subsequent siblings) 8 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, Jakub Grajciar n_err reflects the number of packets that the driver did not manage to send. This is a temporary situation, those packets are not freed and the application can still retry to send them later. Hence, we can't count them as transmit failed. Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/memif/rte_eth_memif.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c index 00c9b39..080729a 100644 --- a/drivers/net/memif/rte_eth_memif.c +++ b/drivers/net/memif/rte_eth_memif.c @@ -938,7 +938,6 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->ibytes = 0; stats->opackets = 0; stats->obytes = 0; - stats->oerrors = 0; tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_s2m_rings : pmd->run.num_m2s_rings; @@ -966,7 +965,6 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->q_obytes[i] = mq->n_bytes; stats->opackets += mq->n_pkts; stats->obytes += mq->n_bytes; - stats->oerrors += mq->n_err; } return 0; } -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 6/8] net/memif: do not count unsent packets as errors 2019-07-25 9:14 ` [dpdk-dev] [PATCH 6/8] net/memif: " David Marchand @ 2019-07-25 16:18 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-25 16:18 UTC (permalink / raw) To: David Marchand, dev; +Cc: Jakub Grajciar On 7/25/2019 10:14 AM, David Marchand wrote: > n_err reflects the number of packets that the driver did not manage to > send. > This is a temporary situation, those packets are not freed and the > application can still retry to send them later. > Hence, we can't count them as transmit failed. > > Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > drivers/net/memif/rte_eth_memif.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c > index 00c9b39..080729a 100644 > --- a/drivers/net/memif/rte_eth_memif.c > +++ b/drivers/net/memif/rte_eth_memif.c > @@ -938,7 +938,6 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > stats->ibytes = 0; > stats->opackets = 0; > stats->obytes = 0; > - stats->oerrors = 0; > > tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_s2m_rings : > pmd->run.num_m2s_rings; > @@ -966,7 +965,6 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > stats->q_obytes[i] = mq->n_bytes; > stats->opackets += mq->n_pkts; > stats->obytes += mq->n_bytes; > - stats->oerrors += mq->n_err; Can we also delete 'n_err', it seems calculated wrong already? > } > return 0; > } > ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH 7/8] net/ring: do not count unsent packets as errors 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand ` (5 preceding siblings ...) 2019-07-25 9:14 ` [dpdk-dev] [PATCH 6/8] net/memif: " David Marchand @ 2019-07-25 9:14 ` David Marchand 2019-07-25 16:19 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 8/8] net/vhost: " David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand 8 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, Bruce Richardson err_pkts reflects the number of packets that the driver did not manage to send. This is a temporary situation, those packets are not freed and the application can still retry to send them later. Hence, we can't count them as transmit failed. Fixes: e1e4017751f1 ("ring: add new driver") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/ring/rte_eth_ring.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index eb347bc..eef7606 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -172,7 +172,7 @@ static int eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) { unsigned int i; - unsigned long rx_total = 0, tx_total = 0, tx_err_total = 0; + unsigned long rx_total = 0, tx_total = 0; const struct pmd_internals *internal = dev->data->dev_private; for (i = 0; i < RTE_ETHDEV_QUEUE_STAT_CNTRS && @@ -185,12 +185,10 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) i < dev->data->nb_tx_queues; i++) { stats->q_opackets[i] = internal->tx_ring_queues[i].tx_pkts.cnt; tx_total += stats->q_opackets[i]; - tx_err_total += internal->tx_ring_queues[i].err_pkts.cnt; } stats->ipackets = rx_total; stats->opackets = tx_total; - stats->oerrors = tx_err_total; return 0; } -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 7/8] net/ring: do not count unsent packets as errors 2019-07-25 9:14 ` [dpdk-dev] [PATCH 7/8] net/ring: " David Marchand @ 2019-07-25 16:19 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-25 16:19 UTC (permalink / raw) To: David Marchand, dev; +Cc: stable, Bruce Richardson On 7/25/2019 10:14 AM, David Marchand wrote: > err_pkts reflects the number of packets that the driver did not manage > to send. > This is a temporary situation, those packets are not freed and the > application can still retry to send them later. > Hence, we can't count them as transmit failed. > > Fixes: e1e4017751f1 ("ring: add new driver") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > drivers/net/ring/rte_eth_ring.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c > index eb347bc..eef7606 100644 > --- a/drivers/net/ring/rte_eth_ring.c > +++ b/drivers/net/ring/rte_eth_ring.c > @@ -172,7 +172,7 @@ static int > eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > { > unsigned int i; > - unsigned long rx_total = 0, tx_total = 0, tx_err_total = 0; > + unsigned long rx_total = 0, tx_total = 0; > const struct pmd_internals *internal = dev->data->dev_private; > > for (i = 0; i < RTE_ETHDEV_QUEUE_STAT_CNTRS && > @@ -185,12 +185,10 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) > i < dev->data->nb_tx_queues; i++) { > stats->q_opackets[i] = internal->tx_ring_queues[i].tx_pkts.cnt; > tx_total += stats->q_opackets[i]; > - tx_err_total += internal->tx_ring_queues[i].err_pkts.cnt; Can we remove 'err_pkts' completely, it seems already calculated wrong? > } > > stats->ipackets = rx_total; > stats->opackets = tx_total; > - stats->oerrors = tx_err_total; > > return 0; > } > ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH 8/8] net/vhost: do not count unsent packets as errors 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand ` (6 preceding siblings ...) 2019-07-25 9:14 ` [dpdk-dev] [PATCH 7/8] net/ring: " David Marchand @ 2019-07-25 9:14 ` David Marchand 2019-07-26 2:44 ` Tiwei Bie 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand 8 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-25 9:14 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, Maxime Coquelin, Tiwei Bie, Zhihong Wang missed_pkts reflects the number of packets that the driver did not manage to send. This is a temporary situation, those packets are not freed and the application can still retry to send them later. Hence, we can't count them as transmit failed. Fixes: 5f05e95cd5d9 ("net/vhost: fix Tx error counting") Fixes: ee584e9710b9 ("vhost: add driver on top of the library") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/vhost/rte_eth_vhost.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c index 57f382c..a4892d7 100644 --- a/drivers/net/vhost/rte_eth_vhost.c +++ b/drivers/net/vhost/rte_eth_vhost.c @@ -1081,7 +1081,7 @@ static int eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) { unsigned i; - unsigned long rx_total = 0, tx_total = 0, tx_missed_total = 0; + unsigned long rx_total = 0, tx_total = 0; unsigned long rx_total_bytes = 0, tx_total_bytes = 0; struct vhost_queue *vq; @@ -1103,7 +1103,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) continue; vq = dev->data->tx_queues[i]; stats->q_opackets[i] = vq->stats.pkts; - tx_missed_total += vq->stats.missed_pkts; tx_total += stats->q_opackets[i]; stats->q_obytes[i] = vq->stats.bytes; @@ -1112,7 +1111,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->ipackets = rx_total; stats->opackets = tx_total; - stats->oerrors = tx_missed_total; stats->ibytes = rx_total_bytes; stats->obytes = tx_total_bytes; -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH 8/8] net/vhost: do not count unsent packets as errors 2019-07-25 9:14 ` [dpdk-dev] [PATCH 8/8] net/vhost: " David Marchand @ 2019-07-26 2:44 ` Tiwei Bie 0 siblings, 0 replies; 37+ messages in thread From: Tiwei Bie @ 2019-07-26 2:44 UTC (permalink / raw) To: David Marchand; +Cc: dev, ferruh.yigit, stable, Maxime Coquelin, Zhihong Wang On Thu, Jul 25, 2019 at 11:14:28AM +0200, David Marchand wrote: > missed_pkts reflects the number of packets that the driver did not manage > to send. > This is a temporary situation, those packets are not freed and the > application can still retry to send them later. > Hence, we can't count them as transmit failed. > > Fixes: 5f05e95cd5d9 ("net/vhost: fix Tx error counting") > Fixes: ee584e9710b9 ("vhost: add driver on top of the library") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > drivers/net/vhost/rte_eth_vhost.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) Reviewed-by: Tiwei Bie <tiwei.bie@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand ` (7 preceding siblings ...) 2019-07-25 9:14 ` [dpdk-dev] [PATCH 8/8] net/vhost: " David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 1/9] net/af_packet: remove unused Rx counter David Marchand ` (9 more replies) 8 siblings, 10 replies; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit I did a pass on the pmds about oerrors some time ago, but still did not find the motivation to finish yet. For now, here is a series of cleanups on the virtual pmds. The former patches are just about removing counters that adds nothing to the stats. The latter patches make sure that unsent packets (because of a temporary situation) are not added to oerrors since an application can decide to send them again later. Wrt oerrors, the pcap pmd should be fixed with the series [1]. But the tap pmd still needs to be inspected. 1: https://patchwork.dpdk.org/project/dpdk/list/?series=5701 Changelog since v1: - added a patch on kni that drops a Rx counter - dropped the Tx counter for kni, memif and ring -- David Marchand David Marchand (9): net/af_packet: remove unused Rx counter net/af_xdp: remove unused Tx counter net/null: remove unused Tx error counter net/virtio: remove unused Tx error counter net/kni: remove unused Rx "error" counter net/kni: do not count unsent packets as errors net/memif: do not count unsent packets as errors net/ring: do not count unsent packets as errors net/vhost: do not count unsent packets as errors drivers/net/af_packet/rte_eth_af_packet.c | 1 - drivers/net/af_xdp/rte_eth_af_xdp.c | 2 -- drivers/net/kni/rte_eth_kni.c | 7 ------- drivers/net/memif/rte_eth_memif.c | 7 ------- drivers/net/memif/rte_eth_memif.h | 1 - drivers/net/null/rte_eth_null.c | 9 ++------- drivers/net/ring/rte_eth_ring.c | 16 ++++------------ drivers/net/vhost/rte_eth_vhost.c | 4 +--- drivers/net/virtio/virtio_ethdev.c | 3 --- 9 files changed, 7 insertions(+), 43 deletions(-) -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 1/9] net/af_packet: remove unused Rx counter 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 2/9] net/af_xdp: remove unused Tx counter David Marchand ` (8 subsequent siblings) 9 siblings, 0 replies; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, John W. Linville This Rx counter has never been used. Fixes: 364e08f2bbc0 ("af_packet: add PMD for AF_PACKET-based virtual devices") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> --- drivers/net/af_packet/rte_eth_af_packet.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c index 2f6508f..82bf2cd 100644 --- a/drivers/net/af_packet/rte_eth_af_packet.c +++ b/drivers/net/af_packet/rte_eth_af_packet.c @@ -51,7 +51,6 @@ struct pkt_rx_queue { uint16_t in_port; volatile unsigned long rx_pkts; - volatile unsigned long err_pkts; volatile unsigned long rx_bytes; }; -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 2/9] net/af_xdp: remove unused Tx counter 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 1/9] net/af_packet: remove unused Rx counter David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 3/9] net/null: remove unused Tx error counter David Marchand ` (7 subsequent siblings) 9 siblings, 0 replies; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, Xiaolong Ye, Qi Zhang This Tx counter is now unused. Fixes: 10edf857fde4 ("net/af_xdp: make reserve/submit peek/release consistent") Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com> --- drivers/net/af_xdp/rte_eth_af_xdp.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index 33352e1..41ed5b2 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -97,7 +97,6 @@ struct pkt_rx_queue { struct tx_stats { uint64_t tx_pkts; - uint64_t err_pkts; uint64_t tx_bytes; }; @@ -456,7 +455,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->imissed += xdp_stats.rx_dropped; stats->opackets += stats->q_opackets[i]; - stats->oerrors += txq->stats.err_pkts; stats->obytes += stats->q_obytes[i]; } -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 3/9] net/null: remove unused Tx error counter 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 1/9] net/af_packet: remove unused Rx counter David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 2/9] net/af_xdp: remove unused Tx counter David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 4/9] net/virtio: " David Marchand ` (6 subsequent siblings) 9 siblings, 0 replies; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, Tetsuya Mukawa This Tx counter has never been used. Fixes: c743e50c475f ("null: new poll mode driver") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> --- drivers/net/null/rte_eth_null.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c index 31cbb84..b2c92ab 100644 --- a/drivers/net/null/rte_eth_null.c +++ b/drivers/net/null/rte_eth_null.c @@ -62,7 +62,6 @@ struct null_queue { rte_atomic64_t rx_pkts; rte_atomic64_t tx_pkts; - rte_atomic64_t err_pkts; }; struct pmd_internals { @@ -311,7 +310,7 @@ static int eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *igb_stats) { unsigned i, num_stats; - unsigned long rx_total = 0, tx_total = 0, tx_err_total = 0; + unsigned long rx_total = 0, tx_total = 0; const struct pmd_internals *internal; if ((dev == NULL) || (igb_stats == NULL)) @@ -334,12 +333,10 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *igb_stats) igb_stats->q_opackets[i] = internal->tx_null_queues[i].tx_pkts.cnt; tx_total += igb_stats->q_opackets[i]; - tx_err_total += internal->tx_null_queues[i].err_pkts.cnt; } igb_stats->ipackets = rx_total; igb_stats->opackets = tx_total; - igb_stats->oerrors = tx_err_total; return 0; } @@ -356,10 +353,8 @@ eth_stats_reset(struct rte_eth_dev *dev) internal = dev->data->dev_private; for (i = 0; i < RTE_DIM(internal->rx_null_queues); i++) internal->rx_null_queues[i].rx_pkts.cnt = 0; - for (i = 0; i < RTE_DIM(internal->tx_null_queues); i++) { + for (i = 0; i < RTE_DIM(internal->tx_null_queues); i++) internal->tx_null_queues[i].tx_pkts.cnt = 0; - internal->tx_null_queues[i].err_pkts.cnt = 0; - } } static void -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 4/9] net/virtio: remove unused Tx error counter 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand ` (2 preceding siblings ...) 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 3/9] net/null: remove unused Tx error counter David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 5/9] net/kni: remove unused Rx "error" counter David Marchand ` (5 subsequent siblings) 9 siblings, 0 replies; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, Maxime Coquelin, Tiwei Bie, Zhihong Wang This Tx counter has never been used. Fixes: 9658d17da27b ("virtio: maintain stats per queue") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com> --- drivers/net/virtio/virtio_ethdev.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 62c8274..20840bf 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -121,7 +121,6 @@ static const struct rte_virtio_xstats_name_off rte_virtio_rxq_stat_strings[] = { static const struct rte_virtio_xstats_name_off rte_virtio_txq_stat_strings[] = { {"good_packets", offsetof(struct virtnet_tx, stats.packets)}, {"good_bytes", offsetof(struct virtnet_tx, stats.bytes)}, - {"errors", offsetof(struct virtnet_tx, stats.errors)}, {"multicast_packets", offsetof(struct virtnet_tx, stats.multicast)}, {"broadcast_packets", offsetof(struct virtnet_tx, stats.broadcast)}, {"undersize_packets", offsetof(struct virtnet_tx, stats.size_bins[0])}, @@ -944,7 +943,6 @@ virtio_update_stats(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->opackets += txvq->stats.packets; stats->obytes += txvq->stats.bytes; - stats->oerrors += txvq->stats.errors; if (i < RTE_ETHDEV_QUEUE_STAT_CNTRS) { stats->q_opackets[i] = txvq->stats.packets; @@ -1082,7 +1080,6 @@ virtio_dev_stats_reset(struct rte_eth_dev *dev) txvq->stats.packets = 0; txvq->stats.bytes = 0; - txvq->stats.errors = 0; txvq->stats.multicast = 0; txvq->stats.broadcast = 0; memset(txvq->stats.size_bins, 0, -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 5/9] net/kni: remove unused Rx "error" counter 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand ` (3 preceding siblings ...) 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 4/9] net/virtio: " David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 13:23 ` Ferruh Yigit 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 6/9] net/kni: do not count unsent packets as errors David Marchand ` (4 subsequent siblings) 9 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable The delta between what the application asked to receive and what was indeed received, can not be called an error counter. This counter is not reported anywhere, remove it. Fixes: 75e2bc54c018 ("net/kni: add KNI PMD") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- drivers/net/kni/rte_eth_kni.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c index 9e0c6bd..884280c 100644 --- a/drivers/net/kni/rte_eth_kni.c +++ b/drivers/net/kni/rte_eth_kni.c @@ -83,7 +83,6 @@ eth_kni_rx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) nb_pkts = rte_kni_rx_burst(kni, bufs, nb_bufs); kni_q->rx.pkts += nb_pkts; - kni_q->rx.err_pkts += nb_bufs - nb_pkts; return nb_pkts; } -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH v2 5/9] net/kni: remove unused Rx "error" counter 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 5/9] net/kni: remove unused Rx "error" counter David Marchand @ 2019-07-26 13:23 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-26 13:23 UTC (permalink / raw) To: David Marchand, dev; +Cc: stable On 7/26/2019 11:21 AM, David Marchand wrote: > The delta between what the application asked to receive and what was > indeed received, can not be called an error counter. > This counter is not reported anywhere, remove it. > > Fixes: 75e2bc54c018 ("net/kni: add KNI PMD") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 6/9] net/kni: do not count unsent packets as errors 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand ` (4 preceding siblings ...) 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 5/9] net/kni: remove unused Rx "error" counter David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 13:23 ` Ferruh Yigit 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 7/9] net/memif: " David Marchand ` (3 subsequent siblings) 9 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable err_pkts reflects the number of packets that the driver did not manage to send. This is a temporary situation, those packets are not freed and the application can still retry to send them later. Hence, we can't count them as transmit failed. Fixes: 75e2bc54c018 ("net/kni: add KNI PMD") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- Changelog since v1: - dropped the err_pkts counter entirely as nothing reports it --- drivers/net/kni/rte_eth_kni.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c index 884280c..515c0aa 100644 --- a/drivers/net/kni/rte_eth_kni.c +++ b/drivers/net/kni/rte_eth_kni.c @@ -35,7 +35,6 @@ struct eth_kni_args { struct pmd_queue_stats { uint64_t pkts; uint64_t bytes; - uint64_t err_pkts; }; struct pmd_queue { @@ -97,7 +96,6 @@ eth_kni_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) nb_pkts = rte_kni_tx_burst(kni, bufs, nb_bufs); kni_q->tx.pkts += nb_pkts; - kni_q->tx.err_pkts += nb_bufs - nb_pkts; return nb_pkts; } @@ -269,7 +267,6 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) unsigned long rx_packets_total = 0, rx_bytes_total = 0; unsigned long tx_packets_total = 0, tx_bytes_total = 0; struct rte_eth_dev_data *data = dev->data; - unsigned long tx_packets_err_total = 0; unsigned int i, num_stats; struct pmd_queue *q; @@ -291,14 +288,12 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->q_obytes[i] = q->tx.bytes; tx_packets_total += stats->q_opackets[i]; tx_bytes_total += stats->q_obytes[i]; - tx_packets_err_total += q->tx.err_pkts; } stats->ipackets = rx_packets_total; stats->ibytes = rx_bytes_total; stats->opackets = tx_packets_total; stats->obytes = tx_bytes_total; - stats->oerrors = tx_packets_err_total; return 0; } @@ -319,7 +314,6 @@ eth_kni_stats_reset(struct rte_eth_dev *dev) q = data->tx_queues[i]; q->tx.pkts = 0; q->tx.bytes = 0; - q->tx.err_pkts = 0; } } -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH v2 6/9] net/kni: do not count unsent packets as errors 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 6/9] net/kni: do not count unsent packets as errors David Marchand @ 2019-07-26 13:23 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-26 13:23 UTC (permalink / raw) To: David Marchand, dev; +Cc: stable On 7/26/2019 11:21 AM, David Marchand wrote: > err_pkts reflects the number of packets that the driver did not manage to > send. > This is a temporary situation, those packets are not freed and the > application can still retry to send them later. > Hence, we can't count them as transmit failed. > > Fixes: 75e2bc54c018 ("net/kni: add KNI PMD") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 7/9] net/memif: do not count unsent packets as errors 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand ` (5 preceding siblings ...) 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 6/9] net/kni: do not count unsent packets as errors David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 13:24 ` Ferruh Yigit 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 8/9] net/ring: " David Marchand ` (2 subsequent siblings) 9 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, Jakub Grajciar n_err reflects the number of packets that the driver did not manage to send. This is a temporary situation, those packets are not freed and the application can still retry to send them later. Hence, we can't count them as transmit failed. Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") Signed-off-by: David Marchand <david.marchand@redhat.com> --- Changelog since v1: - dropped the n_err counter entirely as nothing reports it --- drivers/net/memif/rte_eth_memif.c | 7 ------- drivers/net/memif/rte_eth_memif.h | 1 - 2 files changed, 8 deletions(-) diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c index 00c9b39..bcda426 100644 --- a/drivers/net/memif/rte_eth_memif.c +++ b/drivers/net/memif/rte_eth_memif.c @@ -479,7 +479,6 @@ no_free_slots: } } - mq->n_err += nb_pkts - n_tx_pkts; mq->n_pkts += n_tx_pkts; return n_tx_pkts; } @@ -857,7 +856,6 @@ memif_tx_queue_setup(struct rte_eth_dev *dev, (pmd->role == MEMIF_ROLE_SLAVE) ? MEMIF_RING_S2M : MEMIF_RING_M2S; mq->n_pkts = 0; mq->n_bytes = 0; - mq->n_err = 0; mq->intr_handle.fd = -1; mq->intr_handle.type = RTE_INTR_HANDLE_EXT; dev->data->tx_queues[qid] = mq; @@ -886,7 +884,6 @@ memif_rx_queue_setup(struct rte_eth_dev *dev, mq->type = (pmd->role == MEMIF_ROLE_SLAVE) ? MEMIF_RING_M2S : MEMIF_RING_S2M; mq->n_pkts = 0; mq->n_bytes = 0; - mq->n_err = 0; mq->intr_handle.fd = -1; mq->intr_handle.type = RTE_INTR_HANDLE_EXT; mq->mempool = mb_pool; @@ -938,7 +935,6 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->ibytes = 0; stats->opackets = 0; stats->obytes = 0; - stats->oerrors = 0; tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_s2m_rings : pmd->run.num_m2s_rings; @@ -966,7 +962,6 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->q_obytes[i] = mq->n_bytes; stats->opackets += mq->n_pkts; stats->obytes += mq->n_bytes; - stats->oerrors += mq->n_err; } return 0; } @@ -983,14 +978,12 @@ memif_stats_reset(struct rte_eth_dev *dev) dev->data->rx_queues[i]; mq->n_pkts = 0; mq->n_bytes = 0; - mq->n_err = 0; } for (i = 0; i < pmd->run.num_m2s_rings; i++) { mq = (pmd->role == MEMIF_ROLE_SLAVE) ? dev->data->rx_queues[i] : dev->data->tx_queues[i]; mq->n_pkts = 0; mq->n_bytes = 0; - mq->n_err = 0; } } diff --git a/drivers/net/memif/rte_eth_memif.h b/drivers/net/memif/rte_eth_memif.h index 24e8a09..8269212 100644 --- a/drivers/net/memif/rte_eth_memif.h +++ b/drivers/net/memif/rte_eth_memif.h @@ -66,7 +66,6 @@ struct memif_queue { /* rx/tx info */ uint64_t n_pkts; /**< number of rx/tx packets */ uint64_t n_bytes; /**< number of rx/tx bytes */ - uint64_t n_err; /**< number of tx errors */ memif_ring_t *ring; /**< pointer to ring */ -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH v2 7/9] net/memif: do not count unsent packets as errors 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 7/9] net/memif: " David Marchand @ 2019-07-26 13:24 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-26 13:24 UTC (permalink / raw) To: David Marchand, dev; +Cc: Jakub Grajciar On 7/26/2019 11:21 AM, David Marchand wrote: > n_err reflects the number of packets that the driver did not manage to > send. > This is a temporary situation, those packets are not freed and the > application can still retry to send them later. > Hence, we can't count them as transmit failed. > > Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") > > Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 8/9] net/ring: do not count unsent packets as errors 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand ` (6 preceding siblings ...) 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 7/9] net/memif: " David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 13:24 ` Ferruh Yigit 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 9/9] net/vhost: " David Marchand 2019-07-26 13:28 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds Ferruh Yigit 9 siblings, 1 reply; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, Bruce Richardson err_pkts reflects the number of packets that the driver did not manage to send. This is a temporary situation, those packets are not freed and the application can still retry to send them later. Hence, we can't count them as transmit failed. Fixes: e1e4017751f1 ("ring: add new driver") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- Changelog since v1: - dropped the err_pkts counter entirely as nothing reports it --- drivers/net/ring/rte_eth_ring.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index eb347bc..634da63 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -41,7 +41,6 @@ struct ring_queue { struct rte_ring *rng; rte_atomic64_t rx_pkts; rte_atomic64_t tx_pkts; - rte_atomic64_t err_pkts; }; struct pmd_internals { @@ -89,13 +88,10 @@ eth_ring_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) struct ring_queue *r = q; const uint16_t nb_tx = (uint16_t)rte_ring_enqueue_burst(r->rng, ptrs, nb_bufs, NULL); - if (r->rng->flags & RING_F_SP_ENQ) { + if (r->rng->flags & RING_F_SP_ENQ) r->tx_pkts.cnt += nb_tx; - r->err_pkts.cnt += nb_bufs - nb_tx; - } else { + else rte_atomic64_add(&(r->tx_pkts), nb_tx); - rte_atomic64_add(&(r->err_pkts), nb_bufs - nb_tx); - } return nb_tx; } @@ -172,7 +168,7 @@ static int eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) { unsigned int i; - unsigned long rx_total = 0, tx_total = 0, tx_err_total = 0; + unsigned long rx_total = 0, tx_total = 0; const struct pmd_internals *internal = dev->data->dev_private; for (i = 0; i < RTE_ETHDEV_QUEUE_STAT_CNTRS && @@ -185,12 +181,10 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) i < dev->data->nb_tx_queues; i++) { stats->q_opackets[i] = internal->tx_ring_queues[i].tx_pkts.cnt; tx_total += stats->q_opackets[i]; - tx_err_total += internal->tx_ring_queues[i].err_pkts.cnt; } stats->ipackets = rx_total; stats->opackets = tx_total; - stats->oerrors = tx_err_total; return 0; } @@ -203,10 +197,8 @@ eth_stats_reset(struct rte_eth_dev *dev) for (i = 0; i < dev->data->nb_rx_queues; i++) internal->rx_ring_queues[i].rx_pkts.cnt = 0; - for (i = 0; i < dev->data->nb_tx_queues; i++) { + for (i = 0; i < dev->data->nb_tx_queues; i++) internal->tx_ring_queues[i].tx_pkts.cnt = 0; - internal->tx_ring_queues[i].err_pkts.cnt = 0; - } } static void -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH v2 8/9] net/ring: do not count unsent packets as errors 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 8/9] net/ring: " David Marchand @ 2019-07-26 13:24 ` Ferruh Yigit 0 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-26 13:24 UTC (permalink / raw) To: David Marchand, dev; +Cc: stable, Bruce Richardson On 7/26/2019 11:21 AM, David Marchand wrote: > err_pkts reflects the number of packets that the driver did not manage > to send. > This is a temporary situation, those packets are not freed and the > application can still retry to send them later. > Hence, we can't count them as transmit failed. > > Fixes: e1e4017751f1 ("ring: add new driver") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* [dpdk-dev] [PATCH v2 9/9] net/vhost: do not count unsent packets as errors 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand ` (7 preceding siblings ...) 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 8/9] net/ring: " David Marchand @ 2019-07-26 10:21 ` David Marchand 2019-07-26 13:28 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds Ferruh Yigit 9 siblings, 0 replies; 37+ messages in thread From: David Marchand @ 2019-07-26 10:21 UTC (permalink / raw) To: dev; +Cc: ferruh.yigit, stable, Maxime Coquelin, Tiwei Bie, Zhihong Wang missed_pkts reflects the number of packets that the driver did not manage to send. This is a temporary situation, those packets are not freed and the application can still retry to send them later. Hence, we can't count them as transmit failed. Fixes: 5f05e95cd5d9 ("net/vhost: fix Tx error counting") Fixes: ee584e9710b9 ("vhost: add driver on top of the library") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com> --- drivers/net/vhost/rte_eth_vhost.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c index 57f382c..a4892d7 100644 --- a/drivers/net/vhost/rte_eth_vhost.c +++ b/drivers/net/vhost/rte_eth_vhost.c @@ -1081,7 +1081,7 @@ static int eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) { unsigned i; - unsigned long rx_total = 0, tx_total = 0, tx_missed_total = 0; + unsigned long rx_total = 0, tx_total = 0; unsigned long rx_total_bytes = 0, tx_total_bytes = 0; struct vhost_queue *vq; @@ -1103,7 +1103,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) continue; vq = dev->data->tx_queues[i]; stats->q_opackets[i] = vq->stats.pkts; - tx_missed_total += vq->stats.missed_pkts; tx_total += stats->q_opackets[i]; stats->q_obytes[i] = vq->stats.bytes; @@ -1112,7 +1111,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->ipackets = rx_total; stats->opackets = tx_total; - stats->oerrors = tx_missed_total; stats->ibytes = rx_total_bytes; stats->obytes = tx_total_bytes; -- 1.8.3.1 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand ` (8 preceding siblings ...) 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 9/9] net/vhost: " David Marchand @ 2019-07-26 13:28 ` Ferruh Yigit 9 siblings, 0 replies; 37+ messages in thread From: Ferruh Yigit @ 2019-07-26 13:28 UTC (permalink / raw) To: David Marchand, dev On 7/26/2019 11:21 AM, David Marchand wrote: > I did a pass on the pmds about oerrors some time ago, but still did not > find the motivation to finish yet. > For now, here is a series of cleanups on the virtual pmds. > > The former patches are just about removing counters that adds nothing to > the stats. > > The latter patches make sure that unsent packets (because of a temporary > situation) are not added to oerrors since an application can decide to > send them again later. > > Wrt oerrors, the pcap pmd should be fixed with the series [1]. > But the tap pmd still needs to be inspected. > > 1: https://patchwork.dpdk.org/project/dpdk/list/?series=5701 > > Changelog since v1: > - added a patch on kni that drops a Rx counter > - dropped the Tx counter for kni, memif and ring > Series applied to dpdk-next-net/master, thanks. ^ permalink raw reply [flat|nested] 37+ messages in thread
end of thread, other threads:[~2019-07-26 13:28 UTC | newest] Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-07-25 9:14 [dpdk-dev] [PATCH 0/8] oerrors stats fixes for virtual pmds David Marchand 2019-07-25 9:14 ` [dpdk-dev] [PATCH 1/8] net/af_packet: remove unused Rx counter David Marchand 2019-07-25 16:06 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 2/8] net/af_xdp: remove unused Tx counter David Marchand 2019-07-25 15:49 ` Ye Xiaolong 2019-07-25 19:04 ` David Marchand 2019-07-26 1:33 ` Ye Xiaolong 2019-07-25 9:14 ` [dpdk-dev] [PATCH 3/8] net/null: remove unused Tx error counter David Marchand 2019-07-25 16:06 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 4/8] net/virtio: " David Marchand 2019-07-26 2:39 ` Tiwei Bie 2019-07-25 9:14 ` [dpdk-dev] [PATCH 5/8] net/kni: do not count unsent packets as errors David Marchand 2019-07-25 16:12 ` Ferruh Yigit 2019-07-25 19:07 ` David Marchand 2019-07-26 7:24 ` David Marchand 2019-07-26 10:17 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 6/8] net/memif: " David Marchand 2019-07-25 16:18 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 7/8] net/ring: " David Marchand 2019-07-25 16:19 ` Ferruh Yigit 2019-07-25 9:14 ` [dpdk-dev] [PATCH 8/8] net/vhost: " David Marchand 2019-07-26 2:44 ` Tiwei Bie 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 1/9] net/af_packet: remove unused Rx counter David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 2/9] net/af_xdp: remove unused Tx counter David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 3/9] net/null: remove unused Tx error counter David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 4/9] net/virtio: " David Marchand 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 5/9] net/kni: remove unused Rx "error" counter David Marchand 2019-07-26 13:23 ` Ferruh Yigit 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 6/9] net/kni: do not count unsent packets as errors David Marchand 2019-07-26 13:23 ` Ferruh Yigit 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 7/9] net/memif: " David Marchand 2019-07-26 13:24 ` Ferruh Yigit 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 8/9] net/ring: " David Marchand 2019-07-26 13:24 ` Ferruh Yigit 2019-07-26 10:21 ` [dpdk-dev] [PATCH v2 9/9] net/vhost: " David Marchand 2019-07-26 13:28 ` [dpdk-dev] [PATCH v2 0/9] oerrors stats fixes for virtual pmds Ferruh Yigit
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).