Re: [PATCH] net/packet: simply allocations in alloc_one_pg_vec_page

From: Shakeel Butt
Date: Sat May 16 2020 - 19:53:08 EST


On Sat, May 16, 2020 at 3:45 PM Eric Dumazet <edumazet@xxxxxxxxxx> wrote:
>
> On Sat, May 16, 2020 at 3:35 PM Shakeel Butt <shakeelb@xxxxxxxxxx> wrote:
> >
> > On Sat, May 16, 2020 at 1:40 PM David Miller <davem@xxxxxxxxxxxxx> wrote:
> > >
> > > From: Shakeel Butt <shakeelb@xxxxxxxxxx>
> > > Date: Fri, 15 May 2020 19:17:36 -0700
> > >
> > > > and thus there is no need to have any fallback after vzalloc.
> > >
> > > This statement is false.
> > >
> > > The virtual mapping allocation or the page table allocations can fail.
> > >
> > > A fallback is therefore indeed necessary.
> >
> > I am assuming that you at least agree that vzalloc should only be
> > called for non-zero order allocations. So, my argument is if non-zero
> > order vzalloc has failed (allocations internal to vzalloc, including
> > virtual mapping allocation and page table allocations, are order 0 and
> > use GFP_KERNEL i.e. triggering reclaim and oom-killer) then the next
> > non-zero order page allocation has very low chance of succeeding.
>
>
> 32bit kernels might have exhausted their vmalloc space, yet they can
> still allocate order-0 pages.

Oh ok it makes sense.