From: Hirokazu Takahashi Hi Dave, > > Linus's current -bk tree has a patch that conflicts with the > > "steal_page_from_lru" patch. It looks like they have similar goals. > > Can you take a look and see if we can use this new function instead of > > the steal_page... one? > > > > http://linus.bkbits.net:8080/linux-2.5/cset@4248c921mmetWIYHAbA3t2d_Pw-6jA > > Please replace AA-PM-01-steal_page_from_lru.patch with the attached > patch, because it couldn't be made as an additional patch over the > existing patches. The patch is for linux-2.6.12-rc2. > > This patch changes the interface calling __steal_page_from_lru() > to share the code with isolate_lru_pages(). Please insert the following patch right after N1-memsection_migrate.patch, as the interface of __steal_page_from_lru() was modified. Signed-off-by: Hirokazu Takahashi Signed-off-by: Dave Hansen --- memhotplug-dave/mm/page_alloc.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff -puN mm/page_alloc.c~N1.1-pass-page_list-to-steal_page mm/page_alloc.c --- memhotplug/mm/page_alloc.c~N1.1-pass-page_list-to-steal_page 2005-07-28 13:51:16.000000000 -0700 +++ memhotplug-dave/mm/page_alloc.c 2005-07-28 13:51:16.000000000 -0700 @@ -813,9 +813,8 @@ grab_capturing_pages(struct list_head *p zone = page_zone(page); spin_lock_irq(&zone->lru_lock); if (page_under_capture(page)) { - if (PageLRU(page) && __steal_page_from_lru(zone, page)) - list_add(&page->lru, page_list); - else + if (!PageLRU(page) || + !__steal_page_from_lru(zone, page, page_list)) rest++; } spin_unlock_irq(&zone->lru_lock); _