Messages in this thread | | | Date | Tue, 19 Jun 2007 17:49:12 +0100 | Subject | Re: [PATCH 5/7] Introduce a means of compacting memory within a zone | From | (Mel Gorman) |
| |
On (19/06/07 21:54), Yasunori Goto didst pronounce: > Hi Mel-san. > This is very interesting feature. > > Now, I'm testing your patches. > > > +static int isolate_migratepages(struct zone *zone, > > + struct compact_control *cc) > > +{ > > + unsigned long high_pfn, low_pfn, end_pfn, start_pfn; > > (snip) > > > + /* Time to isolate some pages for migration */ > > + spin_lock_irq(&zone->lru_lock); > > + for (; low_pfn < end_pfn; low_pfn++) { > > + if (!pfn_valid_within(low_pfn)) > > + continue; > > + > > + /* Get the page and skip if free */ > > + page = pfn_to_page(low_pfn); > > I met panic at here on my tiger4. >
How annoying.
> I compiled with CONFIG_SPARSEMEM. So, CONFIG_HOLES_IN_ZONE is not set. > pfn_valid_within() returns 1 every time on this configuration.
As it should.
> (This config is for only virtual memmap) > But, my tiger4 box has memory holes in normal zone. > > When it is changed to normal pfn_valid(), no panic occurs. >
It's because I never check if the MAX_ORDER block is valid before isolating. This needs to be implemented just like what isolate_freepages() and isolate_freepages_block() does. Change it to pfn_valid() for the moment and I'll have this one fixed up properly in the next version.
> Hmmm. > > Bye.
Thanks for testing.
-- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |