[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.00.0911170004380.1564@chino.kir.corp.google.com>
Date: Tue, 17 Nov 2009 00:07:44 -0800 (PST)
From: David Rientjes <rientjes@...gle.com>
To: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
cc: linux-mm <linux-mm@...ck.org>, LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH 0/7] Kill PF_MEMALLOC abuse
On Tue, 17 Nov 2009, KOSAKI Motohiro wrote:
>
> PF_MEMALLOC have following effects.
> (1) Ignore zone watermark
> (2) Don't call reclaim although allocation failure, instead return ENOMEM
> (3) Don't invoke OOM Killer
> (4) Don't retry internally in page alloc
>
> Some subsystem paid attention (1) only, and start to use PF_MEMALLOC abuse.
> But, the fact is, PF_MEMALLOC is the promise of "I have lots freeable memory.
> if I allocate few memory, I can return more much meory to the system!".
> Non MM subsystem must not use PF_MEMALLOC. Memory reclaim
> need few memory, anyone must not prevent it. Otherwise the system cause
> mysterious hang-up and/or OOM Killer invokation.
>
> if many subsystem will be able to use emergency memory without any
> usage rule, it isn't for emergency. it can become empty easily.
>
> Plus, characteristics (2)-(4) mean PF_MEMALLOC don't fit to general
> high priority memory allocation.
>
> Thus, We kill all PF_MEMALLOC usage in no MM subsystem.
>
I agree in principle with removing non-VM users of PF_MEMALLOC, but I
think it should be left to the individual subsystem maintainers to apply
or ack since the allocations may depend on the __GFP_NORETRY | ~__GFP_WAIT
behavior of PF_MEMALLOC. This could be potentially dangerous for a
PF_MEMALLOC user if allocations made by the kthread, for example, should
never retry for orders smaller than PAGE_ALLOC_COSTLY_ORDER or block on
direct reclaim.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists