[dpdk-dev,v2] doc: add known issue for i40e VF performance

Message ID 20170703035754.4622-1-qi.z.zhang@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Qi Zhang July 3, 2017, 3:57 a.m. UTC
  VF performance is limited by the kernel PCI extended tag setting.
Update the document to explain the known issue and the workaround.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---

v2:
- follow number list format.
- improve the comments.

 doc/guides/nics/i40e.rst | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
  

Comments

John McNamara July 3, 2017, 10:01 a.m. UTC | #1
> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Monday, July 3, 2017 4:58 AM
> To: Mcnamara, John <john.mcnamara@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>
> Cc: Zhang, Helin <helin.zhang@intel.com>; dev@dpdk.org; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: [PATCH v2] doc: add known issue for i40e VF performance
> 
> VF performance is limited by the kernel PCI extended tag setting.
> Update the document to explain the known issue and the workaround.
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>

Acked-by: John McNamara <john.mcnamara@intel.com>
  
Ferruh Yigit July 3, 2017, 10:26 a.m. UTC | #2
On 7/3/2017 4:57 AM, Qi Zhang wrote:
> VF performance is limited by the kernel PCI extended tag setting.
> Update the document to explain the known issue and the workaround.
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>

Hi Qi, John,

Not related to the content, but related to location, where a "known
issue" should go, release notes or component specific document?

Thanks,
ferruh
  
Thomas Monjalon July 9, 2017, 10:49 p.m. UTC | #3
Hi,

Few typos spotted

03/07/2017 05:57, Qi Zhang:
> --- a/doc/guides/nics/i40e.rst
> +++ b/doc/guides/nics/i40e.rst
> @@ -447,3 +447,30 @@ It means if APP has set the max bandwidth for that TC, it comes to no
>  effect.
>  It's suggested to set the strict priority mode for a TC that is latency
>  sensitive but no consuming much bandwidth.
> +
> +VF performance is impacted by PCI extended tag setting
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +To reach maximum NIC performance in the VF the PCI extended tag must be
> +enabled. The DPDK I40E PF drvier will set this feature during initialization,

drvier -> driver

> +but the kernel PF driver does not. So when running traffic on a VF which is
> +managed by the kernel PF driver, a significent NIC performance downgrade has

significent -> significant

> +been observed (for 64 byte packets, there is about 25% linerate downgrade for
> +a 25G device and about 35% for a 40G device).
> +
> +For kernel version >= 4.11, the kernel's PCI driver will enable the extended
> +tag if it detects that the device supports it. So by default, this is not an
> +issue. For kernels <= 4.11 or When the PCI extended tag is disabled it can be

When -> when

> +enabled using the steps below.
> +
> +#. Get the current value of the PCI configure register::
> +
> +      setpci -s <XX:XX.X> a8.w
> +
> +#. Set bit 8::
> +
> +      value = value | 0x100
> +
> +#. Set the PCI configure register with new value::
> +
> +      setpci -s <XX:XX.X> a8.w=<value>
  

Patch

diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 4d3c7ca..2f2cf6d 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -447,3 +447,30 @@  It means if APP has set the max bandwidth for that TC, it comes to no
 effect.
 It's suggested to set the strict priority mode for a TC that is latency
 sensitive but no consuming much bandwidth.
+
+VF performance is impacted by PCI extended tag setting
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To reach maximum NIC performance in the VF the PCI extended tag must be
+enabled. The DPDK I40E PF drvier will set this feature during initialization,
+but the kernel PF driver does not. So when running traffic on a VF which is
+managed by the kernel PF driver, a significent NIC performance downgrade has
+been observed (for 64 byte packets, there is about 25% linerate downgrade for
+a 25G device and about 35% for a 40G device).
+
+For kernel version >= 4.11, the kernel's PCI driver will enable the extended
+tag if it detects that the device supports it. So by default, this is not an
+issue. For kernels <= 4.11 or When the PCI extended tag is disabled it can be
+enabled using the steps below.
+
+#. Get the current value of the PCI configure register::
+
+      setpci -s <XX:XX.X> a8.w
+
+#. Set bit 8::
+
+      value = value | 0x100
+
+#. Set the PCI configure register with new value::
+
+      setpci -s <XX:XX.X> a8.w=<value>