DPDK patches and discussions
 help / color / mirror / Atom feed
From: Dongdong Liu <liudongdong3@huawei.com>
To: <dev@dpdk.org>, <andrew.rybchenko@oktetlabs.ru>,
	<ferruh.yigit@xilinx.com>, <thomas@monjalon.net>,
	<liudongdong3@huawei.com>, <lihuisong@huawei.com>,
	<haijie1@huawei.com>
Cc: <stable@dpdk.org>, <fengchengwen@huawei.com>,
	<yisen.zhuang@huawei.com>, <humin29@huawei.com>
Subject: [PATCH RESEND 06/13] net/hns3: fix segment fault when using SVE xmit
Date: Mon, 5 Sep 2022 16:59:32 +0800	[thread overview]
Message-ID: <20220905085939.22236-7-liudongdong3@huawei.com> (raw)
In-Reply-To: <20220905085939.22236-1-liudongdong3@huawei.com>

From: Chengwen Feng <fengchengwen@huawei.com>

Currently, the number of Tx send bytes is obtained by accumulating the
length of the batch 'mbuf' packets of the current loop cycle.
Unfortunately, it uses svcntd (which means all lane, regardless of
whether the corresponding lane is valid) which may lead to overflow,
and thus refers to an invalid mbuf.

Because the SVE xmit algorithm applies only to a single mbuf, the
mbuf's data_len is equal pkt_len, so this patch fixes it by using
svaddv_u64(svbool_t pg, svuint64_t data_len) which only adds valid
lanes.

Fixes: fdcd6a3e0246 ("net/hns3: add bytes stats")
Cc: stable@dpdk.org

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
---
 drivers/net/hns3/hns3_rxtx_vec_sve.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/hns3/hns3_rxtx_vec_sve.c b/drivers/net/hns3/hns3_rxtx_vec_sve.c
index be1fdbcdf0..b0dfb052bb 100644
--- a/drivers/net/hns3/hns3_rxtx_vec_sve.c
+++ b/drivers/net/hns3/hns3_rxtx_vec_sve.c
@@ -435,9 +435,8 @@ hns3_tx_fill_hw_ring_sve(struct hns3_tx_queue *txq,
 				offsets, svdup_n_u64(valid_bit));
 
 		/* Increment bytes counter */
-		uint32_t idx;
-		for (idx = 0; idx < svcntd(); idx++)
-			txq->basic_stats.bytes += pkts[idx]->pkt_len;
+		txq->basic_stats.bytes +=
+			(svaddv_u64(pg, data_len) >> HNS3_UINT16_BIT);
 
 		/* update index for next loop */
 		i += svcntd();
-- 
2.22.0


  parent reply	other threads:[~2022-09-05  9:01 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-05  8:59 [PATCH RESEND 00/13] some bugfixes and clean code for hns3 Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 01/13] net/hns3: rename hns3 dump file Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 02/13] net/hns3: fix code check warning Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 03/13] net/hns3: adjust code for dump file Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 04/13] net/hns3: add dump of VF vlan filter modify capability Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 05/13] net/hns3: fix fail to receive PTP packet Dongdong Liu
2022-09-05  8:59 ` Dongdong Liu [this message]
2022-09-05  8:59 ` [PATCH RESEND 07/13] net/hns3: fix next-to-use overflow when using SVE xmit Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 08/13] net/hns3: fix next-to-use overflow when using simple xmit Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 09/13] net/hns3: optimize SVE xmit performance Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 10/13] net/hns3: fix segment fault when secondary process access FW Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 11/13] net/hns3: delete rte unused tag Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 12/13] net/hns3: fix uncleared hardware MAC statistics Dongdong Liu
2022-09-05  8:59 ` [PATCH RESEND 13/13] net/hns3: revert optimize Tx performance Dongdong Liu
2022-09-17  1:14 ` [PATCH RESEND 00/13] some bugfixes and clean code for hns3 Dongdong Liu
2022-09-28 12:03 ` Dongdong Liu
2022-10-04 16:00 ` Andrew Rybchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220905085939.22236-7-liudongdong3@huawei.com \
    --to=liudongdong3@huawei.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@xilinx.com \
    --cc=haijie1@huawei.com \
    --cc=humin29@huawei.com \
    --cc=lihuisong@huawei.com \
    --cc=stable@dpdk.org \
    --cc=thomas@monjalon.net \
    --cc=yisen.zhuang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).