• Moshe Shemesh's avatar
    devlink: Add remote reload stats · 77069ba2
    Moshe Shemesh authored
    Add remote reload stats to hold the history of actions performed due
    devlink reload commands initiated by remote host. For example, in case
    firmware activation with reset finished successfully but was initiated
    by remote host.
    
    The function devlink_remote_reload_actions_performed() is exported to
    enable drivers update on remote reload actions performed as it was not
    initiated by their own devlink instance.
    
    Expose devlink remote reload stats to the user through devlink dev get
    command.
    
    Examples:
    $ devlink dev show
    pci/0000:82:00.0:
      stats:
          reload:
            driver_reinit 2 fw_activate 1 fw_activate_no_reset 0
          remote_reload:
            driver_reinit 0 fw_activate 0 fw_activate_no_reset 0
    pci/0000:82:00.1:
      stats:
          reload:
            driver_reinit 1 fw_activate 0 fw_activate_no_reset 0
          remote_reload:
            driver_reinit 1 fw_activate 1 fw_activate_no_reset 0
    
    $ devlink dev show -jp
    {
        "dev": {
            "pci/0000:82:00.0": {
                "stats": {
                    "reload": {
                        "driver_reinit": 2,
                        "fw_activate": 1,
                        "fw_activate_no_reset": 0
                    },
                    "remote_reload": {
                        "driver_reinit": 0,
                        "fw_activate": 0,
                        "fw_activate_no_reset": 0
                    }
                }
            },
            "pci/0000:82:00.1": {
                "stats": {
                    "reload": {
                        "driver_reinit": 1,
                        "fw_activate": 0,
                        "fw_activate_no_reset": 0
                    },
                    "remote_reload": {
                        "driver_reinit": 1,
                        "fw_activate": 1,
                        "fw_activate_no_reset": 0
                    }
                }
            }
        }
    }
    Signed-off-by: default avatarMoshe Shemesh <moshe@mellanox.com>
    Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
    Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    77069ba2
devlink.c 265 KB