Messages in this thread | | | Date | Tue, 22 Sep 2009 16:38:32 +0300 | Subject | Re: [PATCH 2/4] slqb: Record what node is local to a kmem_cache_cpu | From | Pekka Enberg <> |
| |
Hi Mel,
On Tue, Sep 22, 2009 at 3:54 PM, Mel Gorman <mel@csn.ul.ie> wrote: > When freeing a page, SLQB checks if the page belongs to the local node. > If it is not, it is considered a remote free. On the allocation side, it > always checks the local lists and if they are empty, the page allocator > is called. On memoryless configurations, this is effectively a memory > leak and the machine quickly kills itself in an OOM storm. > > This patch records what node ID is considered local to a CPU. As the > management structure for the CPU is always allocated from the closest > node, the node the CPU structure resides on is considered "local". > > Signed-off-by: Mel Gorman <mel@csn.ul.ie>
I don't understand how the memory leak happens from the above description (or reading the code). page_to_nid() returns some crazy value at free time? The remote list isn't drained properly?
Pekka
| |