All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: r31dmaeu@pc0312b.rz.unibw-muenchen.de
Cc: linux-kernel@vger.kernel.org,
	Christoph Lameter <clameter@sgi.com>,
	stable@kernel.org
Subject: Re: OOM-killer invoked but why ?
Date: Tue, 5 Feb 2008 02:07:37 -0800	[thread overview]
Message-ID: <20080205020737.cec97816.akpm@linux-foundation.org> (raw)
In-Reply-To: <47A1C4B1.8020607@pc0312a.rz.unibw-muenchen.de>

On Thu, 31 Jan 2008 13:53:05 +0100 Claude Frantz <r31dmaeu@pc0312b.rz.unibw-muenchen.de> wrote:

> Hello !
> 
> I'm faced to a problem where the OOM-killer is invoked but I cannot find
> the reason why. The machine is rather powerfull, the load is very moderate,
> the disk swap space is nearly unused. The only strange observation which
> appears to me is the slow but progressive decreasing of kbbuffers during
> many hours.
> 
> Can you help me to diagnose the problem and to find a good solution ?
> 
> ...
>
> Jan 28 03:50:49 toaster kernel: 177466 pages slab
> Jan 28 03:50:49 toaster kernel: 1915 pages pagetables
> Jan 28 03:50:49 toaster kernel: Out of memory: kill process 10859 (amavisd) score 36218 or a child
> Jan 28 03:50:49 toaster kernel: Killed process 19146 (amavisd)

slab.  Maybe you've been bitten by the quicklist leak.  If you're able to
patch your kernel then please try this fix:

commit 96990a4ae979df9e235d01097d6175759331e88c
Author: Christoph Lameter <clameter@sgi.com>
Date:   Mon Jan 14 00:55:14 2008 -0800

    quicklists: Only consider memory that can be used with GFP_KERNEL
    
    Quicklists calculates the size of the quicklists based on the number of
    free pages.  This must be the number of free pages that can be allocated
    with GFP_KERNEL.  node_page_state() includes the pages in ZONE_HIGHMEM and
    ZONE_MOVABLE which may lead the quicklists to become too large causing OOM.
    
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    Tested-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

diff --git a/mm/quicklist.c b/mm/quicklist.c
index ae8189c..3f703f7 100644
--- a/mm/quicklist.c
+++ b/mm/quicklist.c
@@ -26,9 +26,17 @@ DEFINE_PER_CPU(struct quicklist, quicklist)[CONFIG_NR_QUICK];
 static unsigned long max_pages(unsigned long min_pages)
 {
 	unsigned long node_free_pages, max;
+	struct zone *zones = NODE_DATA(numa_node_id())->node_zones;
+
+	node_free_pages =
+#ifdef CONFIG_ZONE_DMA
+		zone_page_state(&zones[ZONE_DMA], NR_FREE_PAGES) +
+#endif
+#ifdef CONFIG_ZONE_DMA32
+		zone_page_state(&zones[ZONE_DMA32], NR_FREE_PAGES) +
+#endif
+		zone_page_state(&zones[ZONE_NORMAL], NR_FREE_PAGES);
 
-	node_free_pages = node_page_state(numa_node_id(),
-			NR_FREE_PAGES);
 	max = node_free_pages / FRACTION_OF_NODE_MEM;
 	return max(max, min_pages);
 }


I note that this didn't have the stable@kernel.org cc.  Christoph, did we
deliberately decide not to backport?


  parent reply	other threads:[~2008-02-05 10:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-31 12:53 OOM-killer invoked but why ? Claude Frantz
2008-01-31 14:36 ` Peter Zijlstra
2008-01-31 14:41   ` Claude Frantz
2008-01-31 18:14     ` Peter Zijlstra
2008-02-05 10:07 ` Andrew Morton [this message]
2008-02-05 11:03   ` Dhaval Giani
2008-02-05 22:04     ` [stable] " Greg KH
2008-02-05 22:13       ` Christoph Lameter
2008-02-05 22:37         ` Greg KH
2008-02-05 22:18       ` Oliver Pinter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080205020737.cec97816.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=r31dmaeu@pc0312b.rz.unibw-muenchen.de \
    --cc=stable@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.