net/i40e: fix X722 performance drop

Message ID 20200226092221.85536-1-qiming.yang@intel.com (mailing list archive)
State Changes Requested, archived
Delegated to: xiaolong ye
Headers
Series net/i40e: fix X722 performance drop |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Qiming Yang Feb. 26, 2020, 9:22 a.m. UTC
  GL_SWR_PM_UP_THR value lack in X722 caused configure register write not be
called. This is the root cause of performance drop. This patch add support
for:

 Device-ID  Value        Comments
 0x37D0    0x03030303   4x10G FPK

Fixes: 3320d4a240da ("net/i40e: workaround performance degradation")
Cc: stable@dpdk.org

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Xiaolong Ye March 3, 2020, 1:56 a.m. UTC | #1
Hi, Qiming

On 02/26, Qiming Yang wrote:
>GL_SWR_PM_UP_THR value lack in X722 caused configure register write not be
>called. This is the root cause of performance drop. This patch add support
>for:

Could you elaborate what kind of performance drop caused by the missing register 
cfg?

Thanks,
Xiaolong

>
> Device-ID  Value        Comments
> 0x37D0    0x03030303   4x10G FPK
>
>Fixes: 3320d4a240da ("net/i40e: workaround performance degradation")
>Cc: stable@dpdk.org
>
>Signed-off-by: Qiming Yang <qiming.yang@intel.com>
>---
> drivers/net/i40e/i40e_ethdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
>index 9fbda1c..c09b9b9 100644
>--- a/drivers/net/i40e/i40e_ethdev.c
>+++ b/drivers/net/i40e/i40e_ethdev.c
>@@ -10504,6 +10504,7 @@ i40e_get_swr_pm_cfg(struct i40e_hw *hw, uint32_t *value)
> 		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_KX_C) },
> 		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_10G_BASE_T) },
> 		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_10G_BASE_T4) },
>+		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_SFP_X722) },
> 
> 		{ I40E_GL_SWR_PM_SF_DEVICE(I40E_DEV_ID_KX_B) },
> 		{ I40E_GL_SWR_PM_SF_DEVICE(I40E_DEV_ID_QSFP_A) },
>-- 
>2.9.5
>
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 9fbda1c..c09b9b9 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -10504,6 +10504,7 @@  i40e_get_swr_pm_cfg(struct i40e_hw *hw, uint32_t *value)
 		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_KX_C) },
 		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_10G_BASE_T) },
 		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_10G_BASE_T4) },
+		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_SFP_X722) },
 
 		{ I40E_GL_SWR_PM_SF_DEVICE(I40E_DEV_ID_KX_B) },
 		{ I40E_GL_SWR_PM_SF_DEVICE(I40E_DEV_ID_QSFP_A) },