On Wed 26-09-18 08:24:56, Alexander Duyck wrote:
On 9/26/2018 12:38 AM, Michal Hocko wrote:
> On Tue 25-09-18 13:20:12, Alexander Duyck wrote:
> > + vm_debug[=options] [KNL] Available with CONFIG_DEBUG_VM=y.
> > + May slow down system boot speed, especially when
> > + enabled on systems with a large amount of memory.
> > + All options are enabled by default, and this
> > + interface is meant to allow for selectively
> > + enabling or disabling specific virtual memory
> > + debugging features.
> > +
> > + Available options are:
> > + P Enable page structure init time poisoning
> > + - Disable all of the above options
> I agree with Dave that this is confusing as hell. So what does vm_debug
> (without any options means). I assume it's NOP and all debugging is
> enabled and that is the default. What if I want to disable _only_ the
> page struct poisoning. The weird lookcing `-' will disable all other
> options that we might gather in the future.
With no options it works just like slub_debug and enables all available
options. So in our case it is a NOP since we wanted the debugging enabled by
But isn't slub_debug more about _adding_ debugging features? While you
want to effectively disbale some debugging features here? So if you want
to follow that pattern then it would be something like
why would you want to enable something when CONFIG_DEBUG_VM=y just
> Why cannot you simply go with [no]vm_page_poison[=on/off]?
That is what I had to begin with, but Dave Hansen and Dan Williams suggested
that I go with a slub_debug style interface so we could extend it in the
Please let's not over-engineer this. If you really need an umbrella
parameter then make a list of things to disable.