On Sat, May 16, 2020 at 3:35 PM Shakeel Butt <shake...@google.com> wrote: > > On Sat, May 16, 2020 at 1:40 PM David Miller <da...@davemloft.net> wrote: > > > > From: Shakeel Butt <shake...@google.com> > > 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.