Messages in this thread | | | Date | Tue, 5 Feb 2008 14:13:12 -0800 (PST) | From | Christoph Lameter <> | Subject | Re: [stable] OOM-killer invoked but why ? |
| |
On Tue, 5 Feb 2008, Greg KH wrote:
> > > 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? > > > > > > > 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.
| |