Messages in this thread | | | From | Linus Torvalds <> | Date | Fri, 15 Apr 2022 16:03:28 -0700 | Subject | Re: [PATCH v10 08/14] mm: multi-gen LRU: support page table walks |
| |
On Fri, Apr 15, 2022 at 3:58 PM Yu Zhao <yuzhao@google.com> wrote: > > BUG_ONs are harmful but problems that trigger them would be > presummingly less penetrating to the user base; on the other hand, > from my experience working with some testers (ordinary users), they > ignore WARN_ON_ONCEs until the kernel crashes.
I don't understand your argument.
First you say that VM_BUG_ON() is only for VM developers.
Then you say "some testers (ordinary users) ignore WARN_ON_ONCEs until the kernel crashes".
So which is it?
VM developers, or ordinary users?
Honestly, if a VM developer is ignoring a WARN_ON_ONCE() from the VM subsystem, I don't even know what to say.
And for ordinary users, a WARN_ON_ONCE() is about a million times better, becasue:
- the machine will hopefully continue working, so they can report the warning
- even when they don't notice them, distros tend to have automated reporting infrastructure
That's why I absolutely *DETEST* those stupid BUG_ON() cases - they will often kill the machine with nasty locks held, resulting in a completely undebuggable thing that never gets reported.
Yes, you can be careful and only put BUG_ON() in places where recovery is possible. But even then, they have no actual _advantages_ over just a WARN_ON_ONCE.
Linus
| |