> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of 
> Przemek Kitszel
>Sent: Monday, June 17, 2024 6:54 PM
> To: [email protected]
> Cc: Jiri Pirko <[email protected]>; Temerkhanov, Sergey 
> <[email protected]>; [email protected]; Czapnik, Lukasz 
> <[email protected]>; Drewek, Wojciech <[email protected]>; 
> Nguyen, Anthony L <[email protected]>; Kitszel, Przemyslaw 
> <[email protected]>; Keller, Jacob E <[email protected]>; 
> Jakub Kicinski <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-next v1] ice: do not init struct 
> ice_adapter more times than needed
>
> Allocate and initialize struct ice_adapter object only once per physical card 
> instead of once per port. This is not a big deal by now, but we want to 
> extend this struct more and more in the near future. Our plans include PTP 
> stuff and a devlink instance representing whole-device/physical card.
>
> Transactions requiring to be sleep-able (like those doing user (here ice) 
> memory allocation) must be performed with an additional (on top of xarray) 
> mutex. Adding it here removes need to xa_lock() manually.
>
> Since this commit is a reimplementation of ice_adapter_get(), a rather new
> scoped_guard() wrapper for locking is used to simplify the logic.
>
> It's worth to mention that xa_insert() use gives us both slot reservation
> and checks if it is already filled, what simplifies code a tiny       bit.
>
> Reviewed-by: Wojciech Drewek <[email protected]>
> Signed-off-by: Przemek Kitszel <[email protected]>
> ---
>  drivers/net/ethernet/intel/ice/ice_adapter.c | 60 +++++++++-----------
>  1 file changed, 28 insertions(+), 32 deletions(-)
>

Tested-by: Pucha Himasekhar Reddy <[email protected]> (A 
Contingent worker at Intel)

Reply via email to