patches for DPDK stable branches
 help / color / mirror / Atom feed
From: luca.boccassi@gmail.com
To: Qi Zhang <qi.z.zhang@intel.com>
Cc: Kevin Traynor <ktraynor@redhat.com>, dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/i40e: fix flow control watermark mismatch' has been queued to LTS release 16.11.4
Date: Mon, 30 Oct 2017 15:34:08 +0000	[thread overview]
Message-ID: <20171030153511.13322-5-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20171030153511.13322-1-luca.boccassi@gmail.com>

Hi,

FYI, your patch has been queued to LTS release 16.11.4

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

Thanks.

Kind regards,
Luca Boccassi

---
>From 3fc6ec827c536ab4bc174e2f6e279672021a9ef4 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Thu, 10 Aug 2017 18:48:07 +0800
Subject: [PATCH] net/i40e: fix flow control watermark mismatch

[ upstream commit 273dcde1c3e3582d39f4a0916febca7dfd518de9 ]

Flow control watermark is not read out correctly,
that may cause an application who not intend to change
watermark but does change it with a rte_eth_dev_flow_ctrl_set
call right after rte_eth_dev_flow_ctrl_get.

The idea fix is, during init, the watermark is set with default value,
so it is not necessary to read out from hw register during flow_ctl_get,
But due to I40E_GLRPB_GHW limitation, it is shared by different ports on
the same device, it is possible the value is changed on another port,
but local variable not sync, so we have to read out register every
flow_ctl_get.

Fixes: f53577f06925 ("i40e: support flow control")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
---
 drivers/net/i40e/i40e_ethdev.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 65e10f3b4..267a39e42 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -83,12 +83,6 @@
 /* Flow control default timer */
 #define I40E_DEFAULT_PAUSE_TIME 0xFFFFU
 
-/* Flow control default high water */
-#define I40E_DEFAULT_HIGH_WATER (0x1C40/1024)
-
-/* Flow control default low water */
-#define I40E_DEFAULT_LOW_WATER  (0x1A40/1024)
-
 /* Flow control enable fwd bit */
 #define I40E_PRTMAC_FWD_CTRL   0x00000001
 
@@ -98,6 +92,12 @@
 /* Kilobytes shift */
 #define I40E_KILOSHIFT 10
 
+/* Flow control default high water */
+#define I40E_DEFAULT_HIGH_WATER (0xF2000 >> I40E_KILOSHIFT)
+
+/* Flow control default low water */
+#define I40E_DEFAULT_LOW_WATER  (0xF2000 >> I40E_KILOSHIFT)
+
 /* Receive Average Packet Size in Byte*/
 #define I40E_PACKET_AVERAGE_SIZE 128
 
@@ -2879,6 +2879,13 @@ i40e_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
 	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
 
 	fc_conf->pause_time = pf->fc_conf.pause_time;
+
+	/* read out from register, in case they are modified by other port */
+	pf->fc_conf.high_water[I40E_MAX_TRAFFIC_CLASS] =
+		I40E_READ_REG(hw, I40E_GLRPB_GHW) >> I40E_KILOSHIFT;
+	pf->fc_conf.low_water[I40E_MAX_TRAFFIC_CLASS] =
+		I40E_READ_REG(hw, I40E_GLRPB_GLW) >> I40E_KILOSHIFT;
+
 	fc_conf->high_water =  pf->fc_conf.high_water[I40E_MAX_TRAFFIC_CLASS];
 	fc_conf->low_water = pf->fc_conf.low_water[I40E_MAX_TRAFFIC_CLASS];
 
-- 
2.11.0

  parent reply	other threads:[~2017-10-30 15:35 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-30 15:34 [dpdk-stable] patch 'cmdline: fix warning for unused return value' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net: fix inner L2 length in packet type parser' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'vfio: fix close unchecked file descriptor' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'eal: fix auxv open check for ARM and PPC' " luca.boccassi
2017-10-30 15:34 ` luca.boccassi [this message]
2017-10-30 15:34 ` [dpdk-stable] patch 'net/nfp: fix RSS' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e: fix PF notify issue when VF is not up' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/ixgbe: fix mapping of user priority to TC' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/enic: fix possible null pointer dereference' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/mlx5: fix clang build' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/mlx5: improve stack usage during link update' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/mlx5: fix probe failure report' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/cxgbe: fix memory leak' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/ixgbe: fix adding a mirror rule' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/vmxnet3: fix MAC address set' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e: fix memory leak if VF init fails' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e: fix i40evf MAC filter table' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/mlx5: fix Tx stats error counter definition' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/mlx5: fix Tx stats error counter logic' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e: fix packet count for PF' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'test: fix assignment operation' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/igb: fix memcpy length' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e/base: fix bool definition' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e: fix variable assignment' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/qede/base: fix to use a passed ptt handle' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/qede/base: fix macros to check chip revision/metal' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/qede/base: fix API return types' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/qede/base: fix number of app table entries' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e: fix clear xstats bug in VF' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'app/testpmd: fix packet throughput after stats reset' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e: fix mirror rule reset when port is closed' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/bnxt: fix an issue with broadcast traffic' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/bnxt: set checksum offload flags correctly' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/bnxt: update status of Rx IP/L4 CKSUM' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/bnxt: fix interrupt handler' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/vmxnet3: fix dereference before null check' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'uio: fix compilation with -Og' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'cmdline: " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'hash: fix eviction counter' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'mem: fix malloc element free in debug mode' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'eal: copy raw strings taken from command line' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/virtio: fix mbuf port for simple Rx function' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/virtio: fix queue setup consistency' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/virtio: fix untrusted scalar value' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'timer: use 64-bit specific code on more platforms' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/virtio: fix compilation with -Og' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/bonding: fix LACP slave deactivate behavioral' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/qede/base: fix for VF malicious indication' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/qede/base: fix return code to align with FW' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'app/testpmd: fix invalid port id parameters' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/mlx5: fix clang compilation error' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/enic: fix assignment' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/i40e: fix uninitialized variable' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/ixgbe: fix VFIO interrupt mapping in VF' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'net/ixgbe: fix uninitialized variable' " luca.boccassi
2017-10-30 15:34 ` [dpdk-stable] patch 'examples/l2fwd-crypto: fix uninitialized errno value' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'drivers/crypto: use snprintf return value correctly' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'net/i40e: fix flexible payload configuration' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'net/i40e: fix mbuf free in vector Tx' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'kni: fix ethtool build with kernel 4.11' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.4' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'kni: fix build on SLE12 SP3' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'examples/l2fwd-cat: fix build with PQOS 1.4' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'examples/l2fwd_fork: fix message pool init' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'examples/l3fwd-acl: check fseek return' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'examples/performance-thread: check thread creation' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'examples/performance-thread: fix out-of-bounds sched array' " luca.boccassi
2017-10-30 15:35 ` [dpdk-stable] patch 'examples/performance-thread: fix out-of-bounds tls " luca.boccassi
2017-11-02 12:02 ` [dpdk-stable] patch 'eal/bsd: fix missing interrupt stub functions' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'net/virtio: flush Rx queues on start' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'net/virtio: fix Tx packet length stats' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'examples/qos_sched: fix uninitialized config' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'examples/ipsec-secgw: fix IP version check' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'cryptodev: fix build with -Ofast' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'examples/ipsec-secgw: fix IPv6 payload length' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'app/testpmd: fix RSS structure initialisation' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'net/enic: fix packet loss after MTU change' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'net/ixgbe: fix PF DCB info' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'app/testpmd: fix mapping of user priority to DCB TC' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'net/bnxt: fix Tx offload capability' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'net/bnxt: fix Rx " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'net/bnxt: fix a bit shift operation' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'net/bnxt: fix a potential null pointer dereference' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'eal/x86: fix atomic cmpset' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'examples/multi_process: fix received message length' " luca.boccassi
2017-11-02 12:02   ` [dpdk-stable] patch 'lpm6: fix compilation with -Og' " luca.boccassi
2017-11-10 16:09     ` [dpdk-stable] patch 'buildtools: fix icc build' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'config: fix bnx2x option for armv7a' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/i40e: fix mirror with firmware 6.0' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/i40e: fix Rx packets number for NEON' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/vmxnet3: fix memory leak when releasing queues' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/i40e: fix VFIO interrupt mapping in VF' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/i40e: fix Rx queue " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/igb: fix Rx interrupt with VFIO and MSI-X' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/pcap: fix memory leak in dumper open' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'test/pmd_perf: fix crash with multiple devices' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'app/testpmd: fix forwarding between non consecutive ports' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'app/testpmd: fix topology error message' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'usertools: fix device binding with python 3' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/qede/base: fix division by zero' " luca.boccassi
2017-11-10 16:09       ` [dpdk-stable] patch 'net/qede: fix icc build' " luca.boccassi
2017-11-10 16:10       ` [dpdk-stable] patch 'buildtools: check allocation error in pmdinfogen' " luca.boccassi
2017-11-13 14:49         ` [dpdk-stable] patch 'net/i40e: fix VF cannot forward packets issue' " luca.boccassi
2017-11-13 14:49           ` [dpdk-stable] patch 'net/nfp: fix stats struct initial value' " luca.boccassi
2017-11-13 14:49           ` [dpdk-stable] patch 'net/bnxt: fix link handling and configuration' " luca.boccassi
2017-11-13 14:49           ` [dpdk-stable] patch 'net/mlx5: fix link speed bitmasks' " luca.boccassi
2017-11-13 14:49           ` [dpdk-stable] patch 'test/memzone: fix memory leak' " luca.boccassi
2017-11-13 14:49           ` [dpdk-stable] patch 'pdump: fix possible mbuf leak on failure' " luca.boccassi
2017-11-13 14:49           ` [dpdk-stable] patch 'ring: guarantee load/load order in enqueue and dequeue' " 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=20171030153511.13322-5-luca.boccassi@gmail.com \
    --to=luca.boccassi@gmail.com \
    --cc=ktraynor@redhat.com \
    --cc=qi.z.zhang@intel.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).