Re: [PATCH 04/10] mm: slub: add knowledge of reserve pages
From: Matt Mackall <hidden>
Date: 2007-08-08 01:45:03
Also in:
lkml
On Tue, Aug 07, 2007 at 05:13:52PM -0700, Christoph Lameter wrote:
On Mon, 6 Aug 2007, Peter Zijlstra wrote:quoted
Restrict objects from reserve slabs (ALLOC_NO_WATERMARKS) to allocation contexts that are entitled to it.Is this patch actually necessary?
> If you are in an atomic context and bound to a cpu then a per cpu slab is
assigned to you and no one else can take object aways from that process since nothing else can run on the cpu.
Servicing I/O over the network requires an allocation to send a buffer and an allocation to later receive the acknowledgement. We can't free our send buffer (or the memory it's supposed to clean) until the relevant ack is received. We have to hold our reserves privately throughout, even if an interrupt that wants to do GFP_ATOMIC allocation shows up in-between.
If you are not in an atomic context and are preemptable or can switch allocation context then you can create another context in which reclaim could be run to remove some clean pages and get you more memory. Again no need for the patch.
By the point that this patch is relevant, there are already no clean pages. The only way to free up more memory is via I/O. -- Mathematics is the supreme nostalgia of our time. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>