On Tue, Feb 05, 2008 at 02:13:12PM -0800, Christoph Lameter wrote: > On Tue, 5 Feb 2008, Greg KH wrote: > > > > > commit 96990a4ae979df9e235d01097d6175759331e88c > > > > Author: Christoph Lameter <[EMAIL PROTECTED]> > > > > 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 <[EMAIL PROTECTED]> > > > > Tested-by: Dhaval Giani <[EMAIL PROTECTED]> > > > > Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> > > > > Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]> > > > > > > > > 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 [EMAIL PROTECTED] 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.
Argh, I'm too confused... As long as everyone is happy with what is currently queued up for .22-stable and .23-stable, I'll just shut up now and get on releasing them :) thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/