[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LRH.2.02.1804261202350.24656@file01.intranet.prod.int.rdu2.redhat.com>
Date: Thu, 26 Apr 2018 12:07:25 -0400 (EDT)
From: Mikulas Patocka <mpatocka@...hat.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
cc: James Bottomley <James.Bottomley@...senPartnership.com>,
Michal Hocko <mhocko@...nel.org>,
David Rientjes <rientjes@...gle.com>, dm-devel@...hat.com,
eric.dumazet@...il.com, netdev@...r.kernel.org,
jasowang@...hat.com, Randy Dunlap <rdunlap@...radead.org>,
linux-kernel@...r.kernel.org, Matthew Wilcox <willy@...radead.org>,
linux-mm@...ck.org, edumazet@...gle.com,
Andrew Morton <akpm@...ux-foundation.org>,
virtualization@...ts.linux-foundation.org,
David Miller <davem@...emloft.net>,
Vlastimil Babka <vbabka@...e.cz>
Subject: Re: [dm-devel] [PATCH v5] fault-injection: introduce kvmalloc fallback
options
On Thu, 26 Apr 2018, Michael S. Tsirkin wrote:
> On Thu, Apr 26, 2018 at 11:44:21AM -0400, Mikulas Patocka wrote:
> >
> >
> > On Thu, 26 Apr 2018, James Bottomley wrote:
> >
> > > On Thu, 2018-04-26 at 11:05 -0400, Mikulas Patocka wrote:
> > > >
> > > > On Thu, 26 Apr 2018, James Bottomley wrote:
> > > [...]
> > > > > Perhaps find out beforehand instead of insisting on an approach
> > > > without
> > > > > knowing. On openSUSE the grub config is built from the files in
> > > > > /etc/grub.d/ so any package can add a kernel option (and various
> > > > > conditions around activating it) simply by adding a new file.
> > > >
> > > > And then, different versions of the debug kernel will clash when
> > > > attempting to create the same file.
> > >
> > > Don't be silly ... there are many ways of coping with that in rpm/dpkg.
> >
> > I know you can deal with it - but how many lines of code will that
> > consume? Multiplied by the total number of rpm-based distros.
> >
> > Mikulas
>
> I don't think debug kernels should inject faults by default.
But it is not injecting any faults. It is using the fault-injection
framework because Michal said that it should use it. The original version
of the patch didn't use the fault-injection framework at all.
The kvmalloc function can take two branches, the kmalloc branch and
vmalloc branch. The vmalloc branch is taken rarely, so the kernel contains
bugs regarding this path - and the patch increases the probability that
the vmalloc patch is taken, to discover the bugs early and make them
reproducible.
> IIUC debug kernels mainly exist so people who experience e.g. memory
> corruption can try and debug the failure. In this case, CONFIG_DEBUG_SG
> will *already* catch a failure early. Nothing special needs to be done.
The patch helps people debug such memory coprruptions (such as using DMA
API on the result of kvmalloc).
> There is a much smaller class of people like QA who go actively looking
> for trouble. That's the kind of thing fault injection is good for, and
> IMO you do not want your QA team to test a separate kernel - otherwise
> you are never quite sure whatever was tested will work in the field.
> So a config option won't help them either.
>
> How do you make sure QA tests a specific corner case? Add it to
> the test plan :)
>
> I don't speak for Red Hat, etc.
>
> --
> MST
Mikulas
Powered by blists - more mailing lists