[v2,030/148] net/ice/base: limit PF RSS LUT to one VSI at time

Message ID 7400feef525c239eeb497536d511d74390c82e72.1718204528.git.anatoly.burakov@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Bruce Richardson
Headers
Series Update net/ice base driver to latest upstream snapshot |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Burakov, Anatoly June 12, 2024, 3 p.m. UTC
From: Ian Stokes <ian.stokes@intel.com>

Allow only one VSI to alloc the PF RSS LUT.

Shared part consists of just a new field, actual implementation will use
`rss_locks` to serialize the access. Take advantage of the fact that VSI #0 is
main VSI for PF, what is the default PF LUT holder, so zero-init of struct
ice_hw sets it as designed.

Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
---
 drivers/net/ice/base/ice_type.h | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Bruce Richardson June 19, 2024, 3:41 p.m. UTC | #1
On Wed, Jun 12, 2024 at 04:00:24PM +0100, Anatoly Burakov wrote:
> From: Ian Stokes <ian.stokes@intel.com>
> 
> Allow only one VSI to alloc the PF RSS LUT.
> 
> Shared part consists of just a new field, actual implementation will use
> `rss_locks` to serialize the access. Take advantage of the fact that VSI #0 is
> main VSI for PF, what is the default PF LUT holder, so zero-init of struct
> ice_hw sets it as designed.
> 
> Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
> ---
>  drivers/net/ice/base/ice_type.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ice/base/ice_type.h b/drivers/net/ice/base/ice_type.h
> index 48f892bfd3..1e133bb1a6 100644
> --- a/drivers/net/ice/base/ice_type.h
> +++ b/drivers/net/ice/base/ice_type.h
> @@ -1394,6 +1394,7 @@ struct ice_hw {
>  	ice_declare_bitmap(fdir_perfect_fltr, ICE_FLTR_PTYPE_MAX);
>  	struct ice_lock rss_locks;	/* protect RSS configuration */
>  	struct LIST_HEAD_TYPE rss_list_head;
> +	u16 vsi_owning_pf_lut; /* SW IDX of VSI that acquired PF RSS LUT */
>  	ice_declare_bitmap(hw_ptype, ICE_FLOW_PTYPE_MAX);
>  	u8 dvm_ena;
>  	u16 io_expander_handle;
> -- 

This is a one-line change, so can probably be merged into some other patch,
rather than needing a whole commit on its own.

/Bruce
  
Przemek Kitszel June 19, 2024, 3:53 p.m. UTC | #2
On 6/19/24 17:41, Bruce Richardson wrote:
> On Wed, Jun 12, 2024 at 04:00:24PM +0100, Anatoly Burakov wrote:
>> From: Ian Stokes <ian.stokes@intel.com>
>>
>> Allow only one VSI to alloc the PF RSS LUT.
>>
>> Shared part consists of just a new field, actual implementation will use
>> `rss_locks` to serialize the access. Take advantage of the fact that VSI #0 is
>> main VSI for PF, what is the default PF LUT holder, so zero-init of struct
>> ice_hw sets it as designed.
>>
>> Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
>> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
>> ---
>>   drivers/net/ice/base/ice_type.h | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/net/ice/base/ice_type.h b/drivers/net/ice/base/ice_type.h
>> index 48f892bfd3..1e133bb1a6 100644
>> --- a/drivers/net/ice/base/ice_type.h
>> +++ b/drivers/net/ice/base/ice_type.h
>> @@ -1394,6 +1394,7 @@ struct ice_hw {
>>   	ice_declare_bitmap(fdir_perfect_fltr, ICE_FLTR_PTYPE_MAX);
>>   	struct ice_lock rss_locks;	/* protect RSS configuration */
>>   	struct LIST_HEAD_TYPE rss_list_head;
>> +	u16 vsi_owning_pf_lut; /* SW IDX of VSI that acquired PF RSS LUT */
>>   	ice_declare_bitmap(hw_ptype, ICE_FLOW_PTYPE_MAX);
>>   	u8 dvm_ena;
>>   	u16 io_expander_handle;
>> -- 
> 
> This is a one-line change, so can probably be merged into some other patch,
> rather than needing a whole commit on its own.
> 
> /Bruce

preferably to the patch that is the first to use that new field,
I see none (but I'm not subscribed to the dpdk ML, so perhaps there is
some other in the series)
  

Patch

diff --git a/drivers/net/ice/base/ice_type.h b/drivers/net/ice/base/ice_type.h
index 48f892bfd3..1e133bb1a6 100644
--- a/drivers/net/ice/base/ice_type.h
+++ b/drivers/net/ice/base/ice_type.h
@@ -1394,6 +1394,7 @@  struct ice_hw {
 	ice_declare_bitmap(fdir_perfect_fltr, ICE_FLTR_PTYPE_MAX);
 	struct ice_lock rss_locks;	/* protect RSS configuration */
 	struct LIST_HEAD_TYPE rss_list_head;
+	u16 vsi_owning_pf_lut; /* SW IDX of VSI that acquired PF RSS LUT */
 	ice_declare_bitmap(hw_ptype, ICE_FLOW_PTYPE_MAX);
 	u8 dvm_ena;
 	u16 io_expander_handle;