Tue, Sep 15, 2020 at 10:28:44PM CEST, mo...@nvidia.com wrote: > >On 9/15/2020 4:37 PM, Jiri Pirko wrote: >> Tue, Sep 15, 2020 at 02:44:02PM CEST, mo...@nvidia.com wrote: >> > On 9/14/2020 4:54 PM, Jiri Pirko wrote: >> > > Mon, Sep 14, 2020 at 08:07:57AM CEST, mo...@mellanox.com 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. > >> > >> > > [..]