Re: Hugetlb demanding paging for -mm tree

From: William Lee Irwin III <wli_at_holomorphy.com>
Date: 2004-08-07 07:07:50
On Fri, Aug 06, 2004 at 01:55:38PM -0700, Chen, Kenneth W wrote:
> diff -Nurp linux-2.6.7/mm/hugetlb.c linux-2.6.7.hugetlb/mm/hugetlb.c
> --- linux-2.6.7/mm/hugetlb.c	2004-08-06 11:44:59.000000000 -0700
> +++ linux-2.6.7.hugetlb/mm/hugetlb.c	2004-08-06 13:15:24.000000000 -0700
> @@ -276,9 +276,10 @@ retry:
>  	}
> 
>  	spin_lock(&mm->page_table_lock);
> -	if (pte_none(*pte))
> +	if (pte_none(*pte)) {
>  		set_huge_pte(mm, vma, page, pte, vma->vm_flags & VM_WRITE);
> -	else
> +		update_mmu_cache(vma, addr, *pte);
> +	} else
>  		put_page(page);
>  out:
>  	spin_unlock(&mm->page_table_lock);

update_mmu_cache() does not appear to check the size of the translation
to be established in many architectures. e.g. on arch/ia64/ it does
flush_icache_range(addr, addr + PAGE_SIZE) unconditionally, and only
sets PG_arch_1 on a single struct page. Similar comments apply to
sparc64 and ppc64; I didn't check any others.


-- wli
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Aug 6 17:09:00 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:29 EST