Index: linux-2.6.15-rc1-mm2/mm/mempolicy.c =================================================================== --- linux-2.6.15-rc1-mm2.orig/mm/mempolicy.c 2005-11-18 12:28:40.000000000 -0800 +++ linux-2.6.15-rc1-mm2/mm/mempolicy.c 2005-11-18 12:28:50.000000000 -0800 @@ -189,13 +189,14 @@ static struct mempolicy *mpol_new(int mo } /* Check if we are the only process mapping the page in question */ -static inline int single_mm_mapping(struct mm_struct *mm, +static int single_mm_mapping(struct mm_struct *mm, struct address_space *mapping) { struct vm_area_struct *vma; struct prio_tree_iter iter; int rc = 1; + printk(KERN_ERR "single_mm_mapping: %p %p\n", mm, mapping); spin_lock(&mapping->i_mmap_lock); vma_prio_tree_foreach(vma, &iter, &mapping->i_mmap, 0, ULONG_MAX) if (mm != vma->vm_mm) { @@ -259,6 +260,7 @@ static int check_pte_range(struct vm_are continue; } nid = pfn_to_nid(pfn); + printk(KERN_ERR "check_pte_range: Node=%d nodes=%lx flags=%lx\n", nid, nodes->bits[0], flags); if (!node_isset(nid, *nodes) == !(flags & MPOL_MF_INVERT)) { if (pagelist) { struct page *page = pfn_to_page(pfn); @@ -526,14 +528,17 @@ long do_mbind(unsigned long start, unsig len = (len + PAGE_SIZE - 1) & PAGE_MASK; end = start + len; + printk(KERN_ERR "3\n"); if (end < start) return -EINVAL; if (end == start) return 0; + printk(KERN_ERR "4\n"); if (mpol_check_policy(mode, nmask)) return -EINVAL; + printk(KERN_ERR "5\n"); new = mpol_new(mode, nmask); if (IS_ERR(new)) return PTR_ERR(new); @@ -701,6 +706,7 @@ int migrate_to_node(struct mm_struct *mm LIST_HEAD(pagelist); int err = 0; + printk(KERN_ERR "migrate_to_node %p %d->%d %x\n",mm, source, dest,flags); nodes_clear(nmask); node_set(source, nmask); @@ -715,7 +721,8 @@ int migrate_to_node(struct mm_struct *mm if (!list_empty(&pagelist)) putback_lru_pages(&pagelist); - } + } else + printk(KERN_ERR "pagelist empty\n"); return err; } @@ -874,6 +881,7 @@ asmlinkage long sys_mbind(unsigned long nodemask_t nodes; int err; + printk(KERN_ERR "sys_mbind\n"); err = get_nodes(&nodes, nmask, maxnode); if (err) return err; Index: linux-2.6.15-rc1-mm2/mm/vmscan.c =================================================================== --- linux-2.6.15-rc1-mm2.orig/mm/vmscan.c 2005-11-18 12:28:44.000000000 -0800 +++ linux-2.6.15-rc1-mm2/mm/vmscan.c 2005-11-18 12:28:50.000000000 -0800 @@ -770,6 +770,7 @@ int migrate_page_remove_references(struc __put_page(page); write_unlock_irq(&mapping->tree_lock); + return 0; } EXPORT_SYMBOL(swap_page); @@ -870,6 +871,7 @@ int migrate_pages(struct list_head *from int swapwrite = current->flags & PF_SWAPWRITE; int rc; + printk(KERN_ERR "migrate pages\n"); if (!swapwrite) current->flags |= PF_SWAPWRITE; Index: linux-2.6.15-rc1-mm2/mm/rmap.c =================================================================== --- linux-2.6.15-rc1-mm2.orig/mm/rmap.c 2005-11-18 12:28:44.000000000 -0800 +++ linux-2.6.15-rc1-mm2/mm/rmap.c 2005-11-18 12:28:50.000000000 -0800 @@ -558,7 +558,8 @@ static int try_to_unmap_one(struct page goto out_unmap; } - /* If the page is recently referenced (perhaps page_referenced + /* + * If the page is recently referenced (perhaps page_referenced * skipped over this mm) then we should reactivate it. */ if (ptep_clear_flush_young(vma, address, pte)) { @@ -592,6 +593,7 @@ static int try_to_unmap_one(struct page spin_unlock(&mmlist_lock); } set_pte_at(mm, address, pte, swp_entry_to_pte(entry)); + printk(KERN_ERR "swap pte installed at %p %ld %p\n", page, address, pte); BUG_ON(pte_file(*pte)); dec_mm_counter(mm, anon_rss); } else Index: linux-2.6.15-rc1-mm2/Makefile =================================================================== --- linux-2.6.15-rc1-mm2.orig/Makefile 2005-11-18 09:47:15.000000000 -0800 +++ linux-2.6.15-rc1-mm2/Makefile 2005-11-18 12:28:50.000000000 -0800 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 15 -EXTRAVERSION =-rc1-mm2 +EXTRAVERSION =-rc1-mm2-mig NAME=Affluent Albatross # *DOCUMENTATION*