All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net/i40e: update tx_free_threshold to improve zero copy performance
@ 2018-04-12  5:32 Junjie Chen
  2018-04-12 11:51 ` Ananyev, Konstantin
  0 siblings, 1 reply; 5+ messages in thread
From: Junjie Chen @ 2018-04-12  5:32 UTC (permalink / raw)
  To: beilei.xing, qi.z.zhang; +Cc: dev, Chen, Junjie, Chen

From: "Chen, Junjie" <junjie.j.chen@intel.com>

When vhost backend works in dequeue zero copy mode, nic locks virtio's
buffer until there is less or equal than tx_free_threshold buffer remain
and then free number of tx burst buffer. This causes packets drop in
virtio side and impacts zero copy performance. So we need to increase
the tx_free_threshold to let nic free virtio's buffer as soon as possible.
Also we keep the upper limit to tx max burst size to ensure least
performance impact on non zero copy.

Signed-off-by: Chen, Junjie <junjie.j.chen@intel.com>
---
 drivers/net/i40e/i40e_rxtx.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 56a854cec..d9569bdc9 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2039,6 +2039,8 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev *dev,
 		tx_conf->tx_rs_thresh : DEFAULT_TX_RS_THRESH);
 	tx_free_thresh = (uint16_t)((tx_conf->tx_free_thresh) ?
 		tx_conf->tx_free_thresh : DEFAULT_TX_FREE_THRESH);
+	if (tx_free_thresh < nb_desc - I40E_TX_MAX_BURST)
+		tx_free_thresh = nb_desc - I40E_TX_MAX_BURST;
 	if (tx_rs_thresh >= (nb_desc - 2)) {
 		PMD_INIT_LOG(ERR, "tx_rs_thresh must be less than the "
 			     "number of TX descriptors minus 2. "
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-04-12 13:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-12  5:32 [PATCH] net/i40e: update tx_free_threshold to improve zero copy performance Junjie Chen
2018-04-12 11:51 ` Ananyev, Konstantin
2018-04-12 12:20   ` Zhang, Qi Z
2018-04-12 13:12     ` Bruce Richardson
2018-04-12 13:56       ` Ananyev, Konstantin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.