mbox series

[net-next,v1,00/10] implement devlink reload in ice

Message ID 20221212111645.1198680-1-michal.swiatkowski@linux.intel.com (mailing list archive)
Headers show
Series implement devlink reload in ice | expand

Message

Michal Swiatkowski Dec. 12, 2022, 11:16 a.m. UTC
Hi,

This is a part of changes done in patchset [0]. Resource management is
kind of controversial part, so I split it into two patchsets.

It is the first one, covering refactor and implement reload API call.
The refactor will unblock some of the patches needed by SIOV or
subfunction.

Most of this patchset is about implementing driver reload mechanism.
Part of code from probe and rebuild is used to not duplicate code.
To allow this reuse probe and rebuild path are split into smaller
functions.

Patch "ice: split ice_vsi_setup into smaller functions" changes
boolean variable in function call to integer and adds define
for it. Instead of having the function called with true/false now it
can be called with readable defines ICE_VSI_FLAG_INIT or
ICE_VSI_FLAG_NO_INIT. It was suggested by Jacob Keller and probably this
mechanism will be implemented across ice driver in follow up patchset.

Previously the code was reviewed here [0].

[0] https://lore.kernel.org/netdev/Y3ckRWtAtZU1BdXm@unreal/T/#m3bb8feba0a62f9b4cd54cd94917b7e2143fc2ecd

Jacob Keller (1):
  ice: stop hard coding the ICE_VSI_CTRL location

Michal Swiatkowski (9):
  ice: move RDMA init to ice_idc.c
  ice: alloc id for RDMA using xa_array
  ice: cleanup in VSI config/deconfig code
  ice: split ice_vsi_setup into smaller functions
  ice: split probe into smaller functions
  ice: sync netdev filters after clearing VSI
  ice: move VSI delete outside deconfig
  ice: update VSI instead of init in some case
  ice: implement devlink reinit action

 drivers/net/ethernet/intel/ice/ice.h         |    6 +-
 drivers/net/ethernet/intel/ice/ice_common.c  |   11 +-
 drivers/net/ethernet/intel/ice/ice_devlink.c |  103 +-
 drivers/net/ethernet/intel/ice/ice_ethtool.c |    2 +-
 drivers/net/ethernet/intel/ice/ice_fltr.c    |    5 +
 drivers/net/ethernet/intel/ice/ice_idc.c     |   53 +-
 drivers/net/ethernet/intel/ice/ice_lib.c     |  997 ++++++++--------
 drivers/net/ethernet/intel/ice/ice_lib.h     |    8 +-
 drivers/net/ethernet/intel/ice/ice_main.c    | 1075 ++++++++++--------
 drivers/net/ethernet/intel/ice/ice_vf_lib.c  |    2 +-
 10 files changed, 1236 insertions(+), 1026 deletions(-)

Comments

Jakub Kicinski Dec. 12, 2022, 6:15 p.m. UTC | #1
On Mon, 12 Dec 2022 12:16:35 +0100 Michal Swiatkowski wrote:
> This is a part of changes done in patchset [0]. Resource management is
> kind of controversial part, so I split it into two patchsets.
> 
> It is the first one, covering refactor and implement reload API call.
> The refactor will unblock some of the patches needed by SIOV or
> subfunction.
> 
> Most of this patchset is about implementing driver reload mechanism.
> Part of code from probe and rebuild is used to not duplicate code.
> To allow this reuse probe and rebuild path are split into smaller
> functions.
> 
> Patch "ice: split ice_vsi_setup into smaller functions" changes
> boolean variable in function call to integer and adds define
> for it. Instead of having the function called with true/false now it
> can be called with readable defines ICE_VSI_FLAG_INIT or
> ICE_VSI_FLAG_NO_INIT. It was suggested by Jacob Keller and probably this
> mechanism will be implemented across ice driver in follow up patchset.

Does not apply, unfortunately, which makes it easier for me to answer
to the question "should I try to squeeze this into 6.2"..
Hopefully we can get some reviews, but the changes seem uncontroversial.
Jacob Keller Dec. 12, 2022, 6:46 p.m. UTC | #2
On 12/12/2022 10:15 AM, Jakub Kicinski wrote:
> On Mon, 12 Dec 2022 12:16:35 +0100 Michal Swiatkowski wrote:
>> This is a part of changes done in patchset [0]. Resource management is
>> kind of controversial part, so I split it into two patchsets.
>>
>> It is the first one, covering refactor and implement reload API call.
>> The refactor will unblock some of the patches needed by SIOV or
>> subfunction.
>>
>> Most of this patchset is about implementing driver reload mechanism.
>> Part of code from probe and rebuild is used to not duplicate code.
>> To allow this reuse probe and rebuild path are split into smaller
>> functions.
>>
>> Patch "ice: split ice_vsi_setup into smaller functions" changes
>> boolean variable in function call to integer and adds define
>> for it. Instead of having the function called with true/false now it
>> can be called with readable defines ICE_VSI_FLAG_INIT or
>> ICE_VSI_FLAG_NO_INIT. It was suggested by Jacob Keller and probably this
>> mechanism will be implemented across ice driver in follow up patchset.
> 
> Does not apply, unfortunately, which makes it easier for me to answer
> to the question "should I try to squeeze this into 6.2"..
> Hopefully we can get some reviews, but the changes seem uncontroversial.

Yea it seems a bit late to make it into 6.2, as much as that would be nice.

We can always hold and test it on iwl until net-next re-opens.

Thanks,
Jake
Michal Swiatkowski Dec. 13, 2022, 6:37 a.m. UTC | #3
On Mon, Dec 12, 2022 at 10:46:09AM -0800, Jacob Keller wrote:
> 
> 
> On 12/12/2022 10:15 AM, Jakub Kicinski wrote:
> > On Mon, 12 Dec 2022 12:16:35 +0100 Michal Swiatkowski wrote:
> > > This is a part of changes done in patchset [0]. Resource management is
> > > kind of controversial part, so I split it into two patchsets.
> > > 
> > > It is the first one, covering refactor and implement reload API call.
> > > The refactor will unblock some of the patches needed by SIOV or
> > > subfunction.
> > > 
> > > Most of this patchset is about implementing driver reload mechanism.
> > > Part of code from probe and rebuild is used to not duplicate code.
> > > To allow this reuse probe and rebuild path are split into smaller
> > > functions.
> > > 
> > > Patch "ice: split ice_vsi_setup into smaller functions" changes
> > > boolean variable in function call to integer and adds define
> > > for it. Instead of having the function called with true/false now it
> > > can be called with readable defines ICE_VSI_FLAG_INIT or
> > > ICE_VSI_FLAG_NO_INIT. It was suggested by Jacob Keller and probably this
> > > mechanism will be implemented across ice driver in follow up patchset.
> > 
> > Does not apply, unfortunately, which makes it easier for me to answer
> > to the question "should I try to squeeze this into 6.2"..
> > Hopefully we can get some reviews, but the changes seem uncontroversial.
> 
> Yea it seems a bit late to make it into 6.2, as much as that would be nice.
> 
> We can always hold and test it on iwl until net-next re-opens.
> 

It was targeted to Tony dev-queue to allow some tests as Jake said.
Sorry, probably I should point it out in cover letter.

Most of the changes are refactor of probe / remove path, so it will be
good to have some tests from iwl. I (or Tony as pull request) will send
it when the net-next re-opens. Thanks

> Thanks,
> Jake
Jakub Kicinski Dec. 14, 2022, 1:18 a.m. UTC | #4
On Tue, 13 Dec 2022 07:37:26 +0100 Michal Swiatkowski wrote:
> It was targeted to Tony dev-queue to allow some tests as Jake said.
> Sorry, probably I should point it out in cover letter.

You can tag as intel-next, iwl-next or some such, to avoid confusion.
Michal Swiatkowski Dec. 15, 2022, 6:42 a.m. UTC | #5
On Tue, Dec 13, 2022 at 05:18:34PM -0800, Jakub Kicinski wrote:
> On Tue, 13 Dec 2022 07:37:26 +0100 Michal Swiatkowski wrote:
> > It was targeted to Tony dev-queue to allow some tests as Jake said.
> > Sorry, probably I should point it out in cover letter.
> 
> You can tag as intel-next, iwl-next or some such, to avoid confusion.

Thanks, I will use it next time.