[dpdk-dev,2/5] net/ixgbevf: set the inter-interrupt interval for EITR.

Message ID 1515161439-4792-2-git-send-email-xiangxia.m.yue@gmail.com (mailing list archive)
State Superseded, archived
Delegated to: Helin Zhang
Headers

Checks

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

Commit Message

Tonghao Zhang Jan. 5, 2018, 2:10 p.m. UTC
  Set EITR interval as default. This patch can improve the performance
when we enable the rx-intrrupt to process the packets because we hope
rx-intrrupt reduce CPU.

The 200us value of EITR makes the performance better with the low CPU.

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Xing, Beilei Jan. 11, 2018, 7:26 a.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Tonghao Zhang
> Sent: Friday, January 5, 2018 10:11 PM
> To: dev@dpdk.org
> Cc: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> Subject: [dpdk-dev] [PATCH 2/5] net/ixgbevf: set the inter-interrupt interval
> for EITR.
> 
> Set EITR interval as default. This patch can improve the performance when
> we enable the rx-intrrupt to process the packets because we hope rx-
> intrrupt reduce CPU.
> 
> The 200us value of EITR makes the performance better with the low CPU.
> 
> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> ---
>  drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> b/drivers/net/ixgbe/ixgbe_ethdev.c
> index e67389f..b20cab9 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -5780,6 +5780,9 @@ static void ixgbevf_set_vfta_all(struct rte_eth_dev
> *dev, bool on)
>  		if (vector_idx < base + intr_handle->nb_efd - 1)
>  			vector_idx++;
>  	}
> +
> +	IXGBE_WRITE_REG(hw, IXGBE_VTEITR(IXGBE_MISC_VEC_ID),
> +			IXGBE_EITR_INTERVAL_US(200) |

Is it possible to configure interval via DPDK configuration? Just like CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL for i40e.
Maybe the value is good for you but not suitable for other users.

Besides, seems the patches in the patchset have no dependency, needn't put them into one patchset, and then the Acked patch can be applied quickly.

> IXGBE_EITR_CNT_WDIS);
>  }
> 
>  /**
> --
> 1.8.3.1
  
Tonghao Zhang Jan. 11, 2018, 2:46 p.m. UTC | #2
On Thu, Jan 11, 2018 at 3:26 PM, Xing, Beilei <beilei.xing@intel.com> wrote:
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Tonghao Zhang
>> Sent: Friday, January 5, 2018 10:11 PM
>> To: dev@dpdk.org
>> Cc: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>> Subject: [dpdk-dev] [PATCH 2/5] net/ixgbevf: set the inter-interrupt interval
>> for EITR.
>>
>> Set EITR interval as default. This patch can improve the performance when
>> we enable the rx-intrrupt to process the packets because we hope rx-
>> intrrupt reduce CPU.
>>
>> The 200us value of EITR makes the performance better with the low CPU.
>>
>> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>> ---
>>  drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
>> b/drivers/net/ixgbe/ixgbe_ethdev.c
>> index e67389f..b20cab9 100644
>> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
>> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
>> @@ -5780,6 +5780,9 @@ static void ixgbevf_set_vfta_all(struct rte_eth_dev
>> *dev, bool on)
>>               if (vector_idx < base + intr_handle->nb_efd - 1)
>>                       vector_idx++;
>>       }
>> +
>> +     IXGBE_WRITE_REG(hw, IXGBE_VTEITR(IXGBE_MISC_VEC_ID),
>> +                     IXGBE_EITR_INTERVAL_US(200) |
>
> Is it possible to configure interval via DPDK configuration? Just like CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL for i40e.
> Maybe the value is good for you but not suitable for other users.

Thanks  for you tips.
>
> Besides, seems the patches in the patchset have no dependency, needn't put them into one patchset, and then the Acked patch can be applied quickly.
>
>> IXGBE_EITR_CNT_WDIS);
>>  }
>>
>>  /**
>> --
>> 1.8.3.1
>
  

Patch

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index e67389f..b20cab9 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -5780,6 +5780,9 @@  static void ixgbevf_set_vfta_all(struct rte_eth_dev *dev, bool on)
 		if (vector_idx < base + intr_handle->nb_efd - 1)
 			vector_idx++;
 	}
+
+	IXGBE_WRITE_REG(hw, IXGBE_VTEITR(IXGBE_MISC_VEC_ID),
+			IXGBE_EITR_INTERVAL_US(200) | IXGBE_EITR_CNT_WDIS);
 }
 
 /**