Re: BUG_ON() in workingset_node_shadows_dec() triggers

From: Raymond Jennings
Date: Tue Oct 04 2016 - 03:03:33 EST

On Mon, Oct 3, 2016 at 9:12 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
On Mon, Oct 3, 2016 at 9:07 PM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

Well, it's a VM_BUG_ON and few people run with CONFIG_DEBUG_VM.

Ehh. If by "few people" you mean "pretty much everybody", you'd be
right, but your choice of wording would be somewhat misleading,
wouldn't you say?

Hint: here's a line from the standard Fedora kernel config:


so *no*. VM_BUG_ON() is no less deadly than a regular BUG_ON(). It
just allows some people to build smaller kernels, but apparently
distro people would rather have debugging than save a few kB of RAM.

The VM debvugging code has VM_WARN_ON() and VM_WARN_ON_ONCE() for
people who want to get a "oops, my assumptions were wrong"

Killing machines because somebody made an assumption that was wrong is not ok.

Killing the machine is ok if we have a situation where there literally
is no other choice.

For the curious:

This would include situations like

1. The kernel is confused and further processing would result in undefined behavior (like bluesmoke detecting PCC for example)

2. Security hazards where we'd leak stuff if we don't shut down.