Re: More OOM problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon 19-09-16 07:31:06, Andi Kleen wrote:
> On Mon, Sep 19, 2016 at 08:37:36AM -0500, Christoph Lameter wrote:
> > On Sun, 18 Sep 2016, Andi Kleen wrote:
> > 
> > > > Sounds like SLUB. SLAB would use order-0 as long as things fit. I would
> > > > hope for SLUB to fallback to order-0 (or order-1 for 8kB) instead of
> > > > OOM, though. Guess not...
> > >
> > > It's already trying to do that, perhaps just some flags need to be
> > > changed?
> > 
> > SLUB tries order-N and falls back to order 0 on failure.
> 
> Right it tries, but Linus apparently got an OOM in the order-N
> allocation. So somehow the flag combination that it passes first
> is not preventing the OOM killer.

It does AFAICS:
	alloc_gfp = (flags | __GFP_NOWARN | __GFP_NORETRY) & ~__GFP_NOFAIL;
	if ((alloc_gfp & __GFP_DIRECT_RECLAIM) && oo_order(oo) > oo_order(s->min))
		alloc_gfp = (alloc_gfp | __GFP_NOMEMALLOC) & ~(__GFP_RECLAIM|__GFP_NOFAIL);

	page = alloc_slab_page(s, alloc_gfp, node, oo);
	if (unlikely(!page)) {
		oo = s->min;
		alloc_gfp = flags;
		/*
		 * Allocation may have failed due to fragmentation.
		 * Try a lower order alloc if possible
		 */
		page = alloc_slab_page(s, alloc_gfp, node, oo);

I think that Linus just see a genuine order-3 request
-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]