svn commit: r332860 - head/sys/kern
Conrad Meyer
cem at freebsd.org
Sat Apr 21 17:53:49 UTC 2018
On Sat, Apr 21, 2018 at 10:05 AM, Jonathan T. Looney <jtl at freebsd.org> wrote:
> Author: jtl
> Date: Sat Apr 21 17:05:00 2018
> New Revision: 332860
> URL: https://svnweb.freebsd.org/changeset/base/332860
>
> Log:
> When running with INVARIANTS, the kernel contains extra checks. However,
> these assumptions may not hold true once we've panic'd. Therefore, the
> checks hold less value after a panic. Additionally, if one of the checks
> fails while we are already panic'd, this creates a double-panic which can
> interfere with debugging the original panic.
>
> Therefore, this commit allows an administrator to suppress a response to
> KASSERT checks after a panic by setting a tunable/sysctl. The
> tunable/sysctl (debug.kassert.suppress_in_panic) defaults to being
> enabled.
Hi Jonathan,
I don't think this should be enabled by default. Can we leave it
disabled by default and let consumers opt-in?
To expand on this a little: this is a big hammer. We already disable
specific invariants in a few cases during panic (lock assertions come
to mind). If there are specific assertions that do not hold during
panic, we can/should selectively weaken them. But in general,
invariants are invariant, and we should not proceed past violated ones
by default.
Thanks,
Conrad
More information about the svn-src-all
mailing list