Re: [PATCH] panic: add TAINT_SOFTLOCKUP

From: Andrew Morton
Date: Mon Jun 23 2014 - 18:11:26 EST


On Tue, 3 Jun 2014 22:12:35 -0400 Josh Hunt <johunt@xxxxxxxxxx> wrote:

> This taint flag will be set if the system has ever entered a softlockup
> state. Similar to TAINT_WARN it is useful to know whether or not the system
> has been in a softlockup state when debugging.
>
> ...
>
> @@ -329,6 +329,7 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer)
>
> if (softlockup_panic)
> panic("softlockup: hung tasks");
> + add_taint(TAINT_SOFTLOCKUP, LOCKDEP_STILL_OK);
> __this_cpu_write(soft_watchdog_warn, true);
> } else
> __this_cpu_write(soft_watchdog_warn, false);

Would make more sense to have applied the taint *before* calling
panic()?

diff -puN kernel/watchdog.c~panic-add-taint_softlockup-fix kernel/watchdog.c
--- a/kernel/watchdog.c~panic-add-taint_softlockup-fix
+++ a/kernel/watchdog.c
@@ -368,9 +368,9 @@ static enum hrtimer_restart watchdog_tim
smp_mb__after_atomic();
}

+ add_taint(TAINT_SOFTLOCKUP, LOCKDEP_STILL_OK);
if (softlockup_panic)
panic("softlockup: hung tasks");
- add_taint(TAINT_SOFTLOCKUP, LOCKDEP_STILL_OK);
__this_cpu_write(soft_watchdog_warn, true);
} else
__this_cpu_write(soft_watchdog_warn, false);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/