Re: [PATCH net-next RFC v4 10/15] net/mlx5: Add support for devlink reload action fw activate

From: Jiri Pirko
Date: Wed Sep 16 2020 - 02:09:06 EST


Tue, Sep 15, 2020 at 10:28:44PM CEST, moshe@xxxxxxxxxx wrote:
>
>On 9/15/2020 4:37 PM, Jiri Pirko wrote:
>> Tue, Sep 15, 2020 at 02:44:02PM CEST, moshe@xxxxxxxxxx wrote:
>> > On 9/14/2020 4:54 PM, Jiri Pirko wrote:
>> > > Mon, Sep 14, 2020 at 08:07:57AM CEST, moshe@xxxxxxxxxxxx wrote:
>> > >
>> > > [..]
>> > >
>> > > > +static void mlx5_fw_reset_complete_reload(struct mlx5_core_dev *dev)
>> > > > +{
>> > > > + struct mlx5_fw_reset *fw_reset = dev->priv.fw_reset;
>> > > > +
>> > > > + /* if this is the driver that initiated the fw reset, devlink completed the reload */
>> > > > + if (test_bit(MLX5_FW_RESET_FLAGS_PENDING_COMP, &fw_reset->reset_flags)) {
>> > > > + complete(&fw_reset->done);
>> > > > + } else {
>> > > > + mlx5_load_one(dev, false);
>> > > > + devlink_reload_implicit_actions_performed(priv_to_devlink(dev),
>> > > > + DEVLINK_RELOAD_ACTION_LIMIT_LEVEL_NONE,
>> > > > + BIT(DEVLINK_RELOAD_ACTION_DRIVER_REINIT) |
>> > > > + BIT(DEVLINK_RELOAD_ACTION_FW_ACTIVATE));
>> > > Hmm, who originated the reset? Devlink_reload of the same devlink
>> > > instance?
>> >
>> > Not the same devlink instance for sure. I defer it by the flag above
>> > MLX5_FW_RESET_FLAG_PENDING_COMP. If the flag set, I set complete to the
>> > reload_down() waiting for it.
>> Hmm, thinking about the stats, as
>> devlink_reload_implicit_actions_performed() is called only in case
>> another instance does the reload, shouldn't it be a separate set of
>> stats? I think that the user would like to distinguish local and remote
>> reload, don't you think?
>>
>
>Possible, it will double the counters, but it will give more info.
>
>So actually, if devlink_reload is not supported by driver, I should hold and
>show only the remote stats or all stats always ?

It would make sense to show just remote stats.

>
>How such remote counter should look like ? something like remote_fw_activate 
>while the local is just fw_activate ?

Sounds good.


>
>> >
>> > > [..]