diff -dur -x '*~' linux-2.6.16.orig/mm/page_alloc.c linux-2.6.16/mm/page_alloc.c --- linux-2.6.16.orig/mm/page_alloc.c 2006-06-27 08:35:58.000000000 +0200 +++ linux-2.6.16/mm/page_alloc.c 2006-06-27 08:41:01.000000000 +0200 @@ -1782,8 +1782,10 @@ set_page_count(page, 1); reset_page_mapcount(page); SetPageReserved(page); +#ifndef CONFIG_XEN if (!(page_is_ram(pfn))) SetPageNosave(page); +#endif INIT_LIST_HEAD(&page->lru); #ifdef WANT_PAGE_VIRTUAL /* The shift won't overflow because ZONE_NORMAL is below 4G. */