Re: [RFC] devlink: health: add remediation type
From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-03-06 19:09:08
On Sat, 6 Mar 2021 15:48:11 +0100 Andrew Lunn wrote:
+/**quoted
+ * enum devlink_health_reporter_remedy - severity of remediation procedure + * @DLH_REMEDY_NONE: transient error, no remediation required + * @DLH_REMEDY_COMP_RESET: associated device component (e.g. device queue) + * will be reset + * @DLH_REMEDY_RESET: full device reset, will result in temporary unavailability + * of the device, device configuration should not be lost + * @DLH_REMEDY_REINIT: device will be reinitialized and configuration lost + * @DLH_REMEDY_POWER_CYCLE: device requires a power cycle to recover + * @DLH_REMEDY_REIMAGE: device needs to be reflashed + * @DLH_REMEDY_BAD_PART: indication of failing hardware, device needs to be + * replaced + * + * Used in %DEVLINK_ATTR_HEALTH_REPORTER_REMEDY, categorizes the health reporter + * by the severity of the required remediation, and indicates the remediation + * type to the user if it can't be applied automatically (e.g. "reimage"). + */ +enum devlink_health_reporter_remedy { + DLH_REMEDY_NONE = 1, + DLH_REMEDY_COMP_RESET, + DLH_REMEDY_RESET, + DLH_REMEDY_REINIT, + DLH_REMEDY_POWER_CYCLE, + DLH_REMEDY_REIMAGE, + DLH_REMEDY_BAD_PART, +};Hi Jakub Are there any cases where the host is the problem, not the device? The host driver needs to be unloaded and reloaded? The host needs a reboot?
I was thinking of REINIT addressing that case. Maybe RELOAD would be a better name since that's what the devlink command is called? But also to answer your direct question, I haven't seen such case in practice, I don't think, just trying to cover all the bases.