DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
From: Xiaoyun wang <cloud.wangxiaoyun@huawei.com>
To: <ferruh.yigit@intel.com>
Cc: <dev@dpdk.org>, <xuanziyang2@huawei.com>,
	<shahar.belkar@huawei.com>, <luoxianjun@huawei.com>,
	<tanya.brokhman@huawei.com>, <zhouguoyang@huawei.com>,
	Xiaoyun wang <cloud.wangxiaoyun@huawei.com>
Subject: [dpdk-dev] [PATCH v4 18/19] net/hinic: optimize RX performance
Date: Thu, 10 Oct 2019 22:52:02 +0800
Message-ID: <09a73554965678957422c55f31c1d28a37e65cfe.1570718029.git.cloud.wangxiaoyun@huawei.com> (raw)
In-Reply-To: <cover.1570718029.git.cloud.wangxiaoyun@huawei.com>

This patch optimizes receive packets performance
on arm platform.

Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com>
---
 drivers/net/hinic/hinic_pmd_rx.c | 5 +----
 drivers/net/hinic/hinic_pmd_rx.h | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/hinic/hinic_pmd_rx.c b/drivers/net/hinic/hinic_pmd_rx.c
index a9f3962..743bae9 100644
--- a/drivers/net/hinic/hinic_pmd_rx.c
+++ b/drivers/net/hinic/hinic_pmd_rx.c
@@ -971,13 +971,10 @@ u16 hinic_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, u16 nb_pkts)
 	while (pkts < nb_pkts) {
 		 /* 2. current ci is done */
 		rx_cqe = &rxq->rx_cqe[sw_ci];
-		status = rx_cqe->status;
+		status = __atomic_load_n(&rx_cqe->status, __ATOMIC_ACQUIRE);
 		if (!HINIC_GET_RX_DONE_BE(status))
 			break;
 
-		/* read other cqe member after status */
-		rte_rmb();
-
 		/* convert cqe and get packet length */
 		hinic_rq_cqe_be_to_cpu32(&cqe, (volatile void *)rx_cqe);
 		vlan_len = cqe.vlan_len;
diff --git a/drivers/net/hinic/hinic_pmd_rx.h b/drivers/net/hinic/hinic_pmd_rx.h
index 5cd17ec..1a80f95 100644
--- a/drivers/net/hinic/hinic_pmd_rx.h
+++ b/drivers/net/hinic/hinic_pmd_rx.h
@@ -35,7 +35,7 @@ struct hinic_rq_cqe {
 	u32 rss_hash;
 
 	u32 rsvd[4];
-};
+} __rte_cache_aligned;
 
 struct hinic_rq_cqe_sect {
 	struct hinic_sge	sge;
-- 
1.8.3.1


  parent reply index

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-10 14:51 [dpdk-dev] [PATCH v4 00/19] Add advanced features for Huawei hinic pmd Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 01/19] net/hinic/base: add mbox command channel for SRIOV Xiaoyun wang
2019-10-11  9:37   ` Gavin Hu (Arm Technology China)
2019-10-29  6:57     ` Wangxiaoyun (Cloud, Network Chip Application Development Dept)
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 02/19] net/hinic/base: add HW interfaces for SR-IOV Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 03/19] net/hinic: add VF PMD operation interfaces Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 04/19] net/hinic: add VLAN filter and offload Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 05/19] net/hinic: add allmulticast mode and MTU set Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 06/19] net/hinic: add unicast and multicast MAC set Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 07/19] net/hinic/base: add fdir config interface Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 08/19] net/hinic: add fdir validate flow operations Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 09/19] net/hinic: create and destroy ntuple filter Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 10/19] net/hinic: create and destroy fdir filter Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 11/19] net/hinic: flush " Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 12/19] net/hinic: set link down and up Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 13/19] net/hinic: get firmware version Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 14/19] net/hinic: support inner L3 checksum offload Xiaoyun wang
2019-10-10 14:51 ` [dpdk-dev] [PATCH v4 15/19] net/hinic: support LRO offload Xiaoyun wang
2019-10-10 14:52 ` [dpdk-dev] [PATCH v4 16/19] net/hinic: add hinic PMD doc files Xiaoyun wang
2019-10-11  9:25   ` Ferruh Yigit
2019-10-12 14:16     ` Wangxiaoyun (Cloud, Network Chip Application Development Dept)
2019-10-10 14:52 ` [dpdk-dev] [PATCH v4 17/19] net/hinic/base: optimize aeq interfaces Xiaoyun wang
2019-10-10 14:52 ` Xiaoyun wang [this message]
2019-10-10 14:52 ` [dpdk-dev] [PATCH v4 19/19] net/hinic: add support for getting rxq or txq info Xiaoyun wang
2019-10-11  9:26 ` [dpdk-dev] [PATCH v4 00/19] Add advanced features for Huawei hinic pmd Ferruh Yigit
2019-10-25  9:04 ` Thomas Monjalon
2019-10-25 12:15   ` Ferruh Yigit

Reply instructions:

You may reply publically 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=09a73554965678957422c55f31c1d28a37e65cfe.1570718029.git.cloud.wangxiaoyun@huawei.com \
    --to=cloud.wangxiaoyun@huawei.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=luoxianjun@huawei.com \
    --cc=shahar.belkar@huawei.com \
    --cc=tanya.brokhman@huawei.com \
    --cc=xuanziyang2@huawei.com \
    --cc=zhouguoyang@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

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org
	public-inbox-index dpdk-dev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git