Messages in this thread | | | Subject | Re: [PATCH net-next RFC 01/13] devlink: Add reload level option to devlink reload command | From | Jacob Keller <> | Date | Mon, 10 Aug 2020 10:09:20 -0700 |
| |
On 8/10/2020 9:53 AM, Jakub Kicinski wrote: > On Sun, 9 Aug 2020 16:21:29 +0300 Moshe Shemesh wrote: >> Okay, so devlink reload default for mlx5 will include also fw-activate >> to align with mlxsw default. >> >> Meaning drivers that supports fw-activate will add it to the default. > > No per-driver default. > > Maybe the difference between mlxsw and mlx5 can be simply explained by > the fact that mlxsw loads firmware from /lib/firmware on every probe > (more or less). > > It's only natural for a driver which loads FW from disk to load it on > driver reload. >
This seems reasonable to me as long as the drivers document this behavior in their devlink/<driver>.rst. We shouldn't change existing behavior. One could argue that this difference in behavior amounts to a "driver default"... but I agree that we shouldn't enshrine that in the interface.
>> The flow of devlink reload default on mlx5 will be: >> >> If there is FW image pending and live patch is suitable to apply, do >> live patch and driver re-initialization. >> >> If there is FW image pending but live patch doesn't fit do fw-reset and >> driver-initialization. >> >> If no FW image pending just do driver-initialization. > > This sounds too complicated. Don't try to guess what the user wants. > >> I still think I should on top of that add the level option to be >> selected by the user if he prefers a specific action, so the uAPI would be: >> >> devlink dev reload [ netns { PID | NAME | ID } ] [ level { fw-live-patch >> | driver-reinit |fw-activate } ] > > I'm all for the level/action. >
Yep, same here.
>> But I am still missing something: fw-activate implies that it will >> activate a new FW image stored on flash, pending activation. What if the >> user wants to reset and reload the FW if no new FW pending ? Should we >> add --force option to fw-activate level ? > > Since reload does not check today if anything changed - i.e. if reload > is actually needed, neither should fw-activate, IMO. I'd expect the > "--force behavior" to be the default. >
Yep. What about if there is HW/FW that can't initiate the fw-activate reset unless there is a pending update? I think ice firmware might respond to the "please reset/activate" command with a specific status code indicating that no update was pending.
I think the simplest solution is to just interpret this as a success. Alternatively we could report a specific error to inform user that no activation took place?
| |