net/ice/base: fix symmetric asymmetric RSS interference

Message ID 20200725121424.46332-1-qi.z.zhang@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series net/ice/base: fix symmetric asymmetric RSS interference |

Checks

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

Commit Message

Qi Zhang July 25, 2020, 12:14 p.m. UTC
  A new symmetric RSS rule may force another asymmetric rule to be
symmetric, vise versa. The reason is due to the flow engine will
try to reuse the existing profile if the input set matches with the
new rule. The fix is to disable this optimization for RSS since we
are not at the situation as profile shortage.

Fixes: ddae0440353f ("net/ice/base: enable symmetric hash for RSS")
Cc: stable@dpdk.org

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ice/base/ice_flex_pipe.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Comments

Lu, Nannan July 27, 2020, 1:28 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Qi Zhang
> Sent: Saturday, July 25, 2020 8:14 PM
> To: Yang, Qiming <qiming.yang@intel.com>
> Cc: Su, Simei <simei.su@intel.com>; dev@dpdk.org; Zhang, Qi Z
> <qi.z.zhang@intel.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/ice/base: fix symmetric asymmetric RSS
> interference
> 
> A new symmetric RSS rule may force another asymmetric rule to be symmetric,
> vise versa. The reason is due to the flow engine will try to reuse the existing
> profile if the input set matches with the new rule. The fix is to disable this
> optimization for RSS since we are not at the situation as profile shortage.
> 
> Fixes: ddae0440353f ("net/ice/base: enable symmetric hash for RSS")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> ---
>  drivers/net/ice/base/ice_flex_pipe.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 

Tested-by: Nannan Lu <nannan.lu@intel.com>

> --
> 2.13.6
  
Guo, Jia July 27, 2020, 3:32 a.m. UTC | #2
On 7/27/2020 9:28 AM, Lu, Nannan wrote:
>> -----Original Message-----
>> From: dev <dev-bounces@dpdk.org> On Behalf Of Qi Zhang
>> Sent: Saturday, July 25, 2020 8:14 PM
>> To: Yang, Qiming <qiming.yang@intel.com>
>> Cc: Su, Simei <simei.su@intel.com>; dev@dpdk.org; Zhang, Qi Z
>> <qi.z.zhang@intel.com>; stable@dpdk.org
>> Subject: [dpdk-dev] [PATCH] net/ice/base: fix symmetric asymmetric RSS
>> interference
>>
>> A new symmetric RSS rule may force another asymmetric rule to be symmetric,
>> vise versa. The reason is due to the flow engine will try to reuse the existing
>> profile if the input set matches with the new rule. The fix is to disable this
>> optimization for RSS since we are not at the situation as profile shortage.
>>
>> Fixes: ddae0440353f ("net/ice/base: enable symmetric hash for RSS")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
>> ---
>>   drivers/net/ice/base/ice_flex_pipe.c | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>>
> Tested-by: Nannan Lu <nannan.lu@intel.com>


Acked-by: Jeff Guo <jia.guo@intel.com>


>
>> --
>> 2.13.6
  
Qi Zhang July 27, 2020, 5:06 a.m. UTC | #3
> -----Original Message-----
> From: Guo, Jia <jia.guo@intel.com>
> Sent: Monday, July 27, 2020 11:32 AM
> To: Lu, Nannan <nannan.lu@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> Yang, Qiming <qiming.yang@intel.com>
> Cc: Su, Simei <simei.su@intel.com>; dev@dpdk.org; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] net/ice/base: fix symmetric asymmetric RSS
> interference
> 
> 
> On 7/27/2020 9:28 AM, Lu, Nannan wrote:
> >> -----Original Message-----
> >> From: dev <dev-bounces@dpdk.org> On Behalf Of Qi Zhang
> >> Sent: Saturday, July 25, 2020 8:14 PM
> >> To: Yang, Qiming <qiming.yang@intel.com>
> >> Cc: Su, Simei <simei.su@intel.com>; dev@dpdk.org; Zhang, Qi Z
> >> <qi.z.zhang@intel.com>; stable@dpdk.org
> >> Subject: [dpdk-dev] [PATCH] net/ice/base: fix symmetric asymmetric
> >> RSS interference
> >>
> >> A new symmetric RSS rule may force another asymmetric rule to be
> >> symmetric, vise versa. The reason is due to the flow engine will try

vice versa.

> >> to reuse the existing profile if the input set matches with the new
> >> rule. The fix is to disable this optimization for RSS since we are not at the
> situation as profile shortage.
> >>
> >> Fixes: ddae0440353f ("net/ice/base: enable symmetric hash for RSS")
> >> Cc: stable@dpdk.org
> >>
> >> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> >> ---
> >>   drivers/net/ice/base/ice_flex_pipe.c | 6 +++---
> >>   1 file changed, 3 insertions(+), 3 deletions(-)
> >>
> > Tested-by: Nannan Lu <nannan.lu@intel.com>
> 
> 
> Acked-by: Jeff Guo <jia.guo@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
> 
> 
> >
> >> --
> >> 2.13.6
  

Patch

diff --git a/drivers/net/ice/base/ice_flex_pipe.c b/drivers/net/ice/base/ice_flex_pipe.c
index 284569464..999ad6be3 100644
--- a/drivers/net/ice/base/ice_flex_pipe.c
+++ b/drivers/net/ice/base/ice_flex_pipe.c
@@ -2808,10 +2808,10 @@  ice_find_prof_id_with_mask(struct ice_hw *hw, enum ice_block blk,
 	struct ice_es *es = &hw->blk[blk].es;
 	u8 i;
 
-	/* For FD, we don't want to re-use an existed profile with the same
-	 * field vector and mask. This will cause rule interference.
+	/* For FD and RSS, we don't want to re-use an existed profile with the
+	 * same field vector and mask. This will cause rule interference.
 	 */
-	if (blk == ICE_BLK_FD)
+	if (blk == ICE_BLK_FD || blk == ICE_BLK_RSS)
 		return ICE_ERR_DOES_NOT_EXIST;
 
 	for (i = 0; i < (u8)es->count; i++) {