patches for DPDK stable branches
 help / color / mirror / Atom feed
From: luca.boccassi@gmail.com
To: Kiran Kumar <kkokkilagadda@caviumnetworks.com>
Cc: Jerin Jacob <jerin.jacob@caviumnetworks.com>,
	dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/thunderx: avoid sq door bell write on zero packet' has been queued to LTS release 16.11.8
Date: Fri, 27 Jul 2018 11:17:42 +0100	[thread overview]
Message-ID: <20180727101748.30228-6-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20180727101748.30228-1-luca.boccassi@gmail.com>

Hi,

FYI, your patch has been queued to LTS release 16.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/29/18. So please
shout if anyone has objections.

Thanks.

Luca Boccassi

---
>From 85310ef9d404c03b932314fe91f3897401d89f24 Mon Sep 17 00:00:00 2001
From: Kiran Kumar <kkokkilagadda@caviumnetworks.com>
Date: Wed, 11 Jul 2018 13:54:36 +0530
Subject: [PATCH] net/thunderx: avoid sq door bell write on zero packet

[ upstream commit 47636efe878dd8885bb47b142765c9ccae6babe3 ]

Avoid sq door bell write on zero packet case to reduce additional
traffic on register bus.

Fixes: 1c421f18e0 ("net/thunderx: add single and multi-segment Tx")

Signed-off-by: Kiran Kumar <kkokkilagadda@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/thunderx/nicvf_rxtx.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/drivers/net/thunderx/nicvf_rxtx.c b/drivers/net/thunderx/nicvf_rxtx.c
index 275adb31c..4b9b2932c 100644
--- a/drivers/net/thunderx/nicvf_rxtx.c
+++ b/drivers/net/thunderx/nicvf_rxtx.c
@@ -190,12 +190,14 @@ nicvf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 		free_desc -= TX_DESC_PER_PKT;
 	}
 
-	sq->tail = tail;
-	sq->xmit_bufs += i;
-	rte_wmb();
+	if (likely(i)) {
+		sq->tail = tail;
+		sq->xmit_bufs += i;
+		rte_wmb();
 
-	/* Inform HW to xmit the packets */
-	nicvf_addr_write(sq->sq_door, i * TX_DESC_PER_PKT);
+		/* Inform HW to xmit the packets */
+		nicvf_addr_write(sq->sq_door, i * TX_DESC_PER_PKT);
+	}
 	return i;
 }
 
@@ -246,12 +248,14 @@ nicvf_xmit_pkts_multiseg(void *tx_queue, struct rte_mbuf **tx_pkts,
 		}
 	}
 
-	sq->tail = tail;
-	sq->xmit_bufs += used_bufs;
-	rte_wmb();
+	if (likely(used_desc)) {
+		sq->tail = tail;
+		sq->xmit_bufs += used_bufs;
+		rte_wmb();
 
-	/* Inform HW to xmit the packets */
-	nicvf_addr_write(sq->sq_door, used_desc);
+		/* Inform HW to xmit the packets */
+		nicvf_addr_write(sq->sq_door, used_desc);
+	}
 	return i;
 }
 
-- 
2.18.0

  parent reply	other threads:[~2018-07-27 10:18 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-24 16:07 [dpdk-stable] patch 'net/ena: check pointer before memset' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ena: change memory type' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ena: fix GENMASK_ULL macro' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ena: set link speed as none' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/nfp: fix field initialization in Tx descriptor' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bonding: fix MAC address reset' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'mbuf: fix typo in IPv6 macro comment' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'kni: fix build with gcc 8.1' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net: rename u16 to fix shadowed declaration' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ixgbe: fix tunnel id format error for FDIR' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ixgbe: fix tunnel type set " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ixgbe: fix mask bits register " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/i40e: fix shifts of 32-bit value' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'app/testpmd: fix VLAN TCI mask set error for FDIR' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/i40e: workaround performance degradation' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/i40e: do not reset device info data' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/pcap: fix multiple queues' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/thunderx: fix build with gcc optimization on' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ena: fix SIGFPE with 0 Rx queue' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/qede: fix default extended VLAN offload config' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bnxt: fix HW Tx checksum offload check' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bnxt: fix Tx with multiple mbuf' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bnxt: fix incorrect IO address handling in Tx' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bnxt: fix Rx ring count limitation' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bonding: do not clear active slave count' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'test/crypto: fix device id when stopping port' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'maintainers: update for Mellanox PMDs' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'examples/multi_process: build l2fwd_fork app' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'hash: fix multiwriter lock memory allocation' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'hash: fix a multi-writer race condition' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'hash: fix key slot size accuracy' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'eal: fix return codes on thread naming failure' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'eal/linux: fix invalid syntax in interrupts' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'ethdev: check queue stats mapping input arguments' " luca.boccassi
2018-07-27 10:17   ` [dpdk-stable] patch 'examples/ipsec-secgw: fix IPv4 checksum at Tx' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'examples/ipsec-secgw: fix bypass rule processing' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'net/i40e: fix link speed' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'net/i40e: fix check of flow director programming status' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'ethdev: fix queue statistics mapping documentation' " luca.boccassi
2018-07-27 10:17     ` luca.boccassi [this message]
2018-07-27 10:17     ` [dpdk-stable] patch 'examples/exception_path: fix out-of-bounds read' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'examples/l3fwd: remove useless include' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'test: fix EAL flags autotest on FreeBSD' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'test/hash: fix multiwriter with non consecutive cores' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'test/hash: fix potential memory leak' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'doc: fix bonding command in testpmd' " luca.boccassi
2018-08-06 10:56     ` [dpdk-stable] patch 'test: fix uninitialized port configuration' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'app/testpmd: fix DCB config' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/bnxt: check access denied for HWRM commands' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/bnxt: fix RETA size' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/qede/base: fix GRC attention callback' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/qede: fix MAC address removal failure message' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/bnx2x: fix FW command timeout during stop' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/i40e: revert fix of flow director check' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/bonding: fix race condition' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'eal: fix bitmap documentation' " luca.boccassi
2018-08-10  9:06       ` [dpdk-stable] patch 'hash: fix doxygen of return values' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'kni: fix crash with null name' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'mk: fix permissions when using make install' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'maintainers: claim maintainership for ARM v7 and v8' " luca.boccassi
2018-08-28 10:25         ` [dpdk-stable] patch 'net/null: add MAC address setting fake operation' " Luca Boccassi
2018-08-28 10:25           ` [dpdk-stable] patch 'test/virtual_pmd: add MAC address setting fake op' " Luca Boccassi
2018-08-28 10:25           ` [dpdk-stable] patch 'test/bonding: assign non-zero MAC to null devices' " Luca Boccassi
2018-08-28 10:25           ` [dpdk-stable] patch 'Revert "net/i40e: fix packet count for PF"' " Luca Boccassi

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=20180727101748.30228-6-luca.boccassi@gmail.com \
    --to=luca.boccassi@gmail.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=kkokkilagadda@caviumnetworks.com \
    --cc=stable@dpdk.org \
    /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).