[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0802051412370.14665@schroedinger.engr.sgi.com>
Date: Tue, 5 Feb 2008 14:13:12 -0800 (PST)
From: Christoph Lameter <clameter@....com>
To: Greg KH <greg@...ah.com>
cc: Dhaval Giani <dhaval@...ux.vnet.ibm.com>,
Andrew Morton <akpm@...ux-foundation.org>, stable@...nel.org,
linux-kernel@...r.kernel.org, r31dmaeu@...312b.rz.unibw-muenchen.de
Subject: Re: [stable] OOM-killer invoked but why ?
On Tue, 5 Feb 2008, Greg KH wrote:
> > > commit 96990a4ae979df9e235d01097d6175759331e88c
> > > Author: Christoph Lameter <clameter@....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@....com>
> > > Tested-by: Dhaval Giani <dhaval@...ux.vnet.ibm.com>
> > > Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> > > Signed-off-by: Linus Torvalds <torvalds@...ux-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@...nel.org cc. Christoph, did we
> > > deliberately decide not to backport?
> > >
> >
> > According to
> > http://archive.netbsd.se/?ml=linux-stable-commits&a=2008-01&m=6134301 ,
> > its been added to the stable tree. I remember asking Greg to add it.
>
> And then Christoph told me to remove it...
No I asked you to add this patch and remove the earlier patch that
tinkered around with tlb flushing.
--
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