![]() | |||||||||||
Messages in this thread |
On Wed, 2005-11-16 at 21:56 +0900, KAMEZAWA Hiroyuki wrote: > Index: linux-2.6.14-mm2/mm/page_alloc.c > =================================================================== > --- linux-2.6.14-mm2.orig/mm/page_alloc.c > +++ linux-2.6.14-mm2/mm/page_alloc.c > @@ -2054,11 +2054,11 @@ static void __init free_area_init_core(s > zone->nr_active = 0; > zone->nr_inactive = 0; > atomic_set(&zone->reclaim_in_progress, 0); > + init_currently_empty_zone(zone, zone_start_pfn, size); > if (!size) > continue; > > zonetable_add(zone, nid, j, zone_start_pfn, size); > - init_currently_empty_zone(zone, zone_start_pfn, size); > zone_start_pfn += size; > } > } Can you explain in a little bit more detail why this matters, and exactly how it fixes your problem. I'm not sure it's correct. "init_currently_empty_zone" could more properly be called something like "init currently empty zone to now have memory". There's no reason to call it, unless you have an empty zone *AND* you some memory to put in it now. If you call it with a size of 0, the things like memmap_init inside of it don't make any sense. Also, if you're doing hot-adds of _new_ zones at runtime, you need to do something fancy with the zonelist locking that I never got around to because nobody needs it yet. See something along these lines: http://www.sr71.net/patches/2.6.14/2.6.14-rc2-git8-mhp1/broken-out/E2-for-debugging-handle-add-to-empty-zone.patch -- Dave - 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/ | ||||||||||
| Last update: 2005-11-16 14:19 [from the cache] ©2003-2008 | |||||||||||