diff -Naurp -X /home/jbarnes/dontdiff 200-udelay-preempt-fix.patch/mm/memory.c 230-tlb-global-flush-fix.patch/mm/memory.c --- 200-udelay-preempt-fix.patch/mm/memory.c Tue Feb 17 19:57:47 2004 +++ 230-tlb-global-flush-fix.patch/mm/memory.c Wed Feb 18 10:14:35 2004 @@ -574,9 +574,10 @@ int unmap_vmas(struct mmu_gather **tlbp, if ((long)zap_bytes > 0) continue; if (need_resched()) { + int fullmm = (*tlbp)->fullmm; tlb_finish_mmu(*tlbp, tlb_start, start); cond_resched_lock(&mm->page_table_lock); - *tlbp = tlb_gather_mmu(mm, 0); + *tlbp = tlb_gather_mmu(mm, fullmm); tlb_start_valid = 0; } zap_bytes = ZAP_BLOCK_SIZE;