Re: [stable] OOM-killer invoked but why ?
From: Christoph Lameter
Date: Tue Feb 05 2008 - 17:13:37 EST
On Tue, 5 Feb 2008, Greg KH wrote:
> > > commit 96990a4ae979df9e235d01097d6175759331e88c
> > > Author: Christoph Lameter <clameter@xxxxxxx>
> > > 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@xxxxxxx>
> > > Tested-by: Dhaval Giani <dhaval@xxxxxxxxxxxxxxxxxx>
> > > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > > Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > >
> > > 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@xxxxxxxxxx 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/