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

From: Eric Dumazet
Date: Sat May 16 2020 - 18:46:01 EST


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.