[v2,03/37] net/mvpp2: fix Rx/Tx bytes statistics
Checks
Commit Message
From: Yuri Chipchev <yuric@marvell.com>
4B of CRC was not included in the bytes statistics
Fixes: bdffe0c70 ("net/mrvl: support basic stats")
Cc: stable@dpdk.org
Signed-off-by: Yuri Chipchev <yuric@marvell.com>
Reviewed-by: Liron Himi <lironh@marvell.com>
---
drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
On 1/22/2021 7:18 PM, lironh@marvell.com wrote:
> From: Yuri Chipchev <yuric@marvell.com>
>
> 4B of CRC was not included in the bytes statistics
>
> Fixes: bdffe0c70 ("net/mrvl: support basic stats")
> Cc: stable@dpdk.org
>
> Signed-off-by: Yuri Chipchev <yuric@marvell.com>
> Reviewed-by: Liron Himi <lironh@marvell.com>
> ---
> drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
> index bfe496ff7..a1a3c0e31 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> rx_stats.drop_fullq +
> rx_stats.drop_bm +
> rxq->drop_mac;
> - stats->ibytes += rxq->bytes_recv;
> drop_mac += rxq->drop_mac;
> }
>
> @@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
>
> stats->q_opackets[idx] = tx_stats.deq_desc;
> stats->q_obytes[idx] = txq->bytes_sent;
> - stats->obytes += txq->bytes_sent;
> }
>
> ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0);
> @@ -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> return ret;
> }
>
> + stats->ibytes += ppio_stats.rx_bytes;
> + stats->obytes += ppio_stats.tx_bytes;
> stats->ipackets += ppio_stats.rx_packets - drop_mac;
> stats->opackets += ppio_stats.tx_packets;
> stats->imissed += ppio_stats.rx_fullq_dropped +
>
Is this patch adding CRC to the stats? If so that is wrong, stats should not
have the CRC.
A recent clarification from Andrew:
https://patches.dpdk.org/patch/86975/
-----Original Message-----
From: Ferruh Yigit <ferruh.yigit@intel.com>
Sent: Tuesday, 26 January 2021 19:03
To: Liron Himi <lironh@marvell.com>; Jerin Jacob Kollanukkaran <jerinj@marvell.com>
Cc: dev@dpdk.org; Yuri Chipchev <yuric@marvell.com>; stable@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>
Subject: [EXT] Re: [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics
External Email
----------------------------------------------------------------------
On 1/22/2021 7:18 PM, lironh@marvell.com wrote:
> From: Yuri Chipchev <yuric@marvell.com>
>
> 4B of CRC was not included in the bytes statistics
>
> Fixes: bdffe0c70 ("net/mrvl: support basic stats")
> Cc: stable@dpdk.org
>
> Signed-off-by: Yuri Chipchev <yuric@marvell.com>
> Reviewed-by: Liron Himi <lironh@marvell.com>
> ---
> drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c
> b/drivers/net/mvpp2/mrvl_ethdev.c index bfe496ff7..a1a3c0e31 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> rx_stats.drop_fullq +
> rx_stats.drop_bm +
> rxq->drop_mac;
> - stats->ibytes += rxq->bytes_recv;
> drop_mac += rxq->drop_mac;
> }
>
> @@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct
> rte_eth_stats *stats)
>
> stats->q_opackets[idx] = tx_stats.deq_desc;
> stats->q_obytes[idx] = txq->bytes_sent;
> - stats->obytes += txq->bytes_sent;
> }
>
> ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0); @@
> -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> return ret;
> }
>
> + stats->ibytes += ppio_stats.rx_bytes;
> + stats->obytes += ppio_stats.tx_bytes;
> stats->ipackets += ppio_stats.rx_packets - drop_mac;
> stats->opackets += ppio_stats.tx_packets;
> stats->imissed += ppio_stats.rx_fullq_dropped +
>
Is this patch adding CRC to the stats? If so that is wrong, stats should not have the CRC.
A recent clarification from Andrew:
https://urldefense.proofpoint.com/v2/url?u=https-3A__patches.dpdk.org_patch_86975_&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=M6lEONY3jVnAkBjt0yC6oAsT7Jn2HI7LhNHCQYlnx1Q&m=iYhQSv2FUrmxLNQcxo6cAiLpoeqeTx1mQKadLot0jh0&s=lYaS0RY6n4QOlhzd3Z9PTxtR42lbqxPt1Pm1uODpWJg&e=
[L.H.] okay, so based on this new clarification, this patch should not be merged to both next and stable branches.
thanks
On 1/26/2021 5:25 PM, Liron Himi wrote:
>
>
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Tuesday, 26 January 2021 19:03
> To: Liron Himi <lironh@marvell.com>; Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: dev@dpdk.org; Yuri Chipchev <yuric@marvell.com>; stable@dpdk.org; Andrew Rybchenko <arybchenko@solarflare.com>
> Subject: [EXT] Re: [dpdk-stable] [PATCH v2 03/37] net/mvpp2: fix Rx/Tx bytes statistics
>
> External Email
>
> ----------------------------------------------------------------------
> On 1/22/2021 7:18 PM, lironh@marvell.com wrote:
>> From: Yuri Chipchev <yuric@marvell.com>
>>
>> 4B of CRC was not included in the bytes statistics
>>
>> Fixes: bdffe0c70 ("net/mrvl: support basic stats")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Yuri Chipchev <yuric@marvell.com>
>> Reviewed-by: Liron Himi <lironh@marvell.com>
>> ---
>> drivers/net/mvpp2/mrvl_ethdev.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c
>> b/drivers/net/mvpp2/mrvl_ethdev.c index bfe496ff7..a1a3c0e31 100644
>> --- a/drivers/net/mvpp2/mrvl_ethdev.c
>> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
>> @@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
>> rx_stats.drop_fullq +
>> rx_stats.drop_bm +
>> rxq->drop_mac;
>> - stats->ibytes += rxq->bytes_recv;
>> drop_mac += rxq->drop_mac;
>> }
>>
>> @@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct
>> rte_eth_stats *stats)
>>
>> stats->q_opackets[idx] = tx_stats.deq_desc;
>> stats->q_obytes[idx] = txq->bytes_sent;
>> - stats->obytes += txq->bytes_sent;
>> }
>>
>> ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0); @@
>> -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
>> return ret;
>> }
>>
>> + stats->ibytes += ppio_stats.rx_bytes;
>> + stats->obytes += ppio_stats.tx_bytes;
>> stats->ipackets += ppio_stats.rx_packets - drop_mac;
>> stats->opackets += ppio_stats.tx_packets;
>> stats->imissed += ppio_stats.rx_fullq_dropped +
>>
>
> Is this patch adding CRC to the stats? If so that is wrong, stats should not have the CRC.
>
> A recent clarification from Andrew:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__patches.dpdk.org_patch_86975_&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=M6lEONY3jVnAkBjt0yC6oAsT7Jn2HI7LhNHCQYlnx1Q&m=iYhQSv2FUrmxLNQcxo6cAiLpoeqeTx1mQKadLot0jh0&s=lYaS0RY6n4QOlhzd3Z9PTxtR42lbqxPt1Pm1uODpWJg&e=
>
> [L.H.] okay, so based on this new clarification, this patch should not be merged to both next and stable branches.
> thanks
>
sure, I can drop it in next-net.
@@ -1278,7 +1278,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
rx_stats.drop_fullq +
rx_stats.drop_bm +
rxq->drop_mac;
- stats->ibytes += rxq->bytes_recv;
drop_mac += rxq->drop_mac;
}
@@ -1306,7 +1305,6 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
stats->q_opackets[idx] = tx_stats.deq_desc;
stats->q_obytes[idx] = txq->bytes_sent;
- stats->obytes += txq->bytes_sent;
}
ret = pp2_ppio_get_statistics(priv->ppio, &ppio_stats, 0);
@@ -1315,6 +1313,8 @@ mrvl_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
return ret;
}
+ stats->ibytes += ppio_stats.rx_bytes;
+ stats->obytes += ppio_stats.tx_bytes;
stats->ipackets += ppio_stats.rx_packets - drop_mac;
stats->opackets += ppio_stats.tx_packets;
stats->imissed += ppio_stats.rx_fullq_dropped +