On Fri, Apr 15, 2022 at 5:03 PM Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Fri, Apr 15, 2022 at 3:58 PM Yu Zhao <yuzhao@xxxxxxxxxx> 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. I did? Probably I implied CONFIG_DEBUG_VM=y is meant for MM 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? 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. Same here. I wasn't worried about kernel developers ignoring any warnings. > 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. I hear you, and I wasn't arguing about anything, just sharing my two cents.