Re: [PATCH] kvmalloc: always use vmalloc if CONFIG_DEBUG_VM

From: Michal Hocko
Date: Tue Apr 24 2018 - 09:32:03 EST


On Mon 23-04-18 20:25:15, Mikulas Patocka wrote:
>
>
> On Mon, 23 Apr 2018, Michal Hocko wrote:
>
> > On Mon 23-04-18 10:06:08, Mikulas Patocka wrote:
> >
> > > > > He didn't want to fix vmalloc(GFP_NOIO)
> > > >
> > > > I don't remember that conversation, so I don't know whether I agree with
> > > > his reasoning or not. But we are supposed to be moving away from GFP_NOIO
> > > > towards marking regions with memalloc_noio_save() / restore. If you do
> > > > that, you won't need vmalloc(GFP_NOIO).
> > >
> > > He said the same thing a year ago. And there was small progress. 6 out of
> > > 27 __vmalloc calls were converted to memalloc_noio_save in a year - 5 in
> > > infiniband and 1 in btrfs. (the whole discussion is here
> > > http://lkml.iu.edu/hypermail/linux/kernel/1706.3/04681.html )
> >
> > Well this is not that easy. It requires a cooperation from maintainers.
> > I can only do as much. I've posted patches in the past and actively
> > bringing up this topic at LSFMM last two years...
>
> You're right - but you have chosen the uneasy path.

Yes.

> Fixing __vmalloc code
> is easy and it doesn't require cooperation with maintainers.

But it is a hack against the intention of the scope api. It also alows
maintainers to not care about their broken code.

> > > He refuses 15-line patch to fix GFP_NOIO bug because he believes that in 4
> > > years, the kernel will be refactored and GFP_NOIO will be eliminated. Why
> > > does he have veto over this part of the code? I'd much rather argue with
> > > people who have constructive comments about fixing bugs than with him.
> >
> > I didn't NACK the patch AFAIR. I've said it is not a good idea longterm.
> > I would be much more willing to change my mind if you would back your
> > patch by a real bug report. Hacks are acceptable when we have a real
> > issue in hands. But if we want to fix potential issue then better make
> > it properly.
>
> Developers should fix bugs in advance, not to wait until a crash hapens,
> is analyzed and reported.

I agree. But are those existing users broken in the first place? I have
seen so many GFP_NOFS abuses that I would dare to guess that most of
those vmalloc NOFS abusers can be simply turned into GFP_KERNEL. Maybe
that is the reason we haven't heard any complains in years.

--
Michal Hocko
SUSE Labs