Re: [dm-devel] [PATCH v5] fault-injection: introduce kvmalloc fallback options

From: Mikulas Patocka
Date: Wed Apr 25 2018 - 18:43:09 EST

On Wed, 25 Apr 2018, James Bottomley wrote:

> On Wed, 2018-04-25 at 17:22 -0400, Mikulas Patocka wrote:
> >
> > On Wed, 25 Apr 2018, David Rientjes wrote:
> > >
> > > Do we really need the new config option?ÂÂThis could just be
> > > manually tunable via fault injection IIUC.
> >
> > We do, because we want to enable it in RHEL and Fedora debugging
> > kernels,Âso that it will be tested by the users.
> >
> > The users won't use some extra magic kernel options or debugfs files.
> If it can be enabled via a tunable, then the distro can turn it on
> without the user having to do anything.

You need to enable it on boot. Enabling it when the kernel starts to
execute userspace code is already too late (because you would miss
kvmalloc calls in the kernel boot path).

These are files in the kernel-debug rpm package. Where would you put the
extra kernel parameter to enable this feature? None of these files contain
kernel parameters.

kernel-debug /boot/.vmlinuz-3.10.0-693.21.1.el7.x86_64.debug.hmac
kernel-debug /boot/
kernel-debug /boot/config-3.10.0-693.21.1.el7.x86_64.debug
kernel-debug /boot/initramfs-3.10.0-693.21.1.el7.x86_64.debug.img
kernel-debug /boot/symvers-3.10.0-693.21.1.el7.x86_64.debug.gz
kernel-debug /boot/vmlinuz-3.10.0-693.21.1.el7.x86_64.debug
kernel-debug /etc/
kernel-debug /lib/modules/3.10.0-693.21.1.el7.x86_64.debug

> If you want to present the user with a different boot option, you can
> (just have the tunable set on the command line), but being tunable
> driven means that you don't have to choose that option, you could
> automatically enable it under a range of circumstances. I think most
> sane distributions would want that flexibility.
> Kconfig proliferation, conversely, is a bit of a nightmare from both
> the user and the tester's point of view, so we're trying to avoid it
> unless absolutely necessary.
> James

I already offered that we don't need to introduce a new kernel option and
we can bind this feature to any other kernel option, that is enabled in
the debug kernel, for example CONFIG_DEBUG_SG. Michal said no and he said
that he wants a new kernel option instead.