habanalabs/gaudi2: log critical events with no rate limit
authorfarah kassabri <fkassabri@habana.ai>
Tue, 23 Aug 2022 14:41:52 +0000 (17:41 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Sun, 18 Sep 2022 10:29:53 +0000 (13:29 +0300)
When we have a storm of errors of HBM ECC SERR we can reach a situation
where driver start hard reset flow without logging the error cause
that caused the hard reset due to logs rate limiting.

Signed-off-by: farah kassabri <fkassabri@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/gaudi2/gaudi2.c

index ff0f9e9..6bebd5e 100644 (file)
@@ -8200,10 +8200,17 @@ static bool gaudi2_handle_hbm_mc_sei_err(struct hl_device *hdev, u16 event_type,
                return true;
        }
 
-       dev_err_ratelimited(hdev->dev,
-               "System Error Interrupt - HBM(%u) MC(%u) MC_CH(%u) MC_PC(%u). Critical(%u). Error cause: %s\n",
-               hbm_id, mc_id, sei_data->hdr.mc_channel, sei_data->hdr.mc_pseudo_channel,
-               sei_data->hdr.is_critical, hbm_mc_sei_cause[cause_idx]);
+       if (sei_data->hdr.is_critical)
+               dev_err(hdev->dev,
+                       "System Critical Error Interrupt - HBM(%u) MC(%u) MC_CH(%u) MC_PC(%u). Error cause: %s\n",
+                       hbm_id, mc_id, sei_data->hdr.mc_channel, sei_data->hdr.mc_pseudo_channel,
+                       hbm_mc_sei_cause[cause_idx]);
+
+       else
+               dev_err_ratelimited(hdev->dev,
+                       "System Non-Critical Error Interrupt - HBM(%u) MC(%u) MC_CH(%u) MC_PC(%u). Error cause: %s\n",
+                       hbm_id, mc_id, sei_data->hdr.mc_channel, sei_data->hdr.mc_pseudo_channel,
+                       hbm_mc_sei_cause[cause_idx]);
 
        /* Print error-specific info */
        switch (cause_idx) {