[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH 2/2] Linux support for hugepages as a Xen PVguest
>>> Dave McCracken <dcm@xxxxxxxx> 10.10.08 17:06 >>> >> > --- linux-2.6.18-xen//./mm/hugetlb.c 2008-07-17 09:54:19.000000000 -0500 >> > +++ linux-hpage/./mm/hugetlb.c 2008-10-02 15:07:54.000000000 -0500 >> > @@ -294,12 +294,14 @@ static pte_t make_huge_pte(struct vm_are >> > int writable) >> > { >> > pte_t entry; >> > + pgprot_t pgprot; >> > >> > + pgprot = __pgprot(pgprot_val(vma->vm_page_prot) | _PAGE_PRESENT); >> > if (writable) { >> > entry = >> > - pte_mkwrite(pte_mkdirty(mk_pte(page, vma->vm_page_prot))); >> > + pte_mkwrite(pte_mkdirty(mk_pte(page, pgprot))); >> > } else { >> > - entry = pte_wrprotect(mk_pte(page, vma->vm_page_prot)); >> > + entry = pte_wrprotect(mk_pte(page, pgprot)); >> > } >> > entry = pte_mkyoung(entry); >> > entry = pte_mkhuge(entry); >> >> Why do we need to do something different for Xen here? > >In the original implementation _PAGE_PRESENT is set in later macros. Xen >needs it early to trigger the proper phys_to_machine() translation. That should then better be taken care of in the place where _PAGE_PRESENT gets actually set. Also, doesn't vma->vm_page_prot already properly reflect the intended setting of _PAGE_PRESENT? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |