Since we're going to provide a fake VMA covering a large range, we need to change the VM_HUGETLB semantic to mean _also_ wipe HPAGE TLBs. Cc: Chris Metcalf Signed-off-by: Peter Zijlstra --- arch/tile/kernel/tlb.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) Index: linux-2.6/arch/tile/kernel/tlb.c =================================================================== --- linux-2.6.orig/arch/tile/kernel/tlb.c +++ linux-2.6/arch/tile/kernel/tlb.c @@ -67,11 +67,14 @@ EXPORT_SYMBOL(flush_tlb_page); void flush_tlb_range(const struct vm_area_struct *vma, unsigned long start, unsigned long end) { - unsigned long size = hv_page_size(vma); struct mm_struct *mm = vma->vm_mm; int cache = (vma->vm_flags & VM_EXEC) ? HV_FLUSH_EVICT_L1I : 0; - flush_remote(0, cache, &mm->cpu_vm_mask, start, end - start, size, - &mm->cpu_vm_mask, NULL, 0); + flush_remote(0, cache, &mm->cpu_vm_mask, start, end - start, + PAGE_SIZE, &mm->cpu_vm_mask, NULL, 0); + if (vma->vm_flags & VM_HUGETLB) { + flush_remote(0, 0, &mm->cpu_vm_mask, start, end - start, + HPAGE_SIZE, &mm->cpu_vm_mask, NULL, 0); + } } void flush_tlb_all(void) -- 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/