Re: [PATCH] [6/9] GBPAGES: Add gbpages support to lookup_address
On Tue, 29 Jan 2008, Andi Kleen wrote: > > Signed-off-by: Andi Kleen <[EMAIL PROTECTED]> > > --- > arch/x86/mm/pageattr.c|5 + > include/asm-x86/pgtable.h |1 + > 2 files changed, 6 insertions(+) > > Index: linux/arch/x86/mm/pageattr.c > === > --- linux.orig/arch/x86/mm/pageattr.c > +++ linux/arch/x86/mm/pageattr.c > @@ -152,9 +152,14 @@ pte_t *lookup_address(unsigned long addr > > if (pgd_none(*pgd)) > return NULL; > + > + *level = PG_LEVEL_1G; > pud = pud_offset(pgd, address); > if (pud_none(*pud)) > return NULL; Please move the level update here, so it is consistent with PMD. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] [6/9] GBPAGES: Add gbpages support to lookup_address
On Tue, 29 Jan 2008, Andi Kleen wrote: Signed-off-by: Andi Kleen [EMAIL PROTECTED] --- arch/x86/mm/pageattr.c|5 + include/asm-x86/pgtable.h |1 + 2 files changed, 6 insertions(+) Index: linux/arch/x86/mm/pageattr.c === --- linux.orig/arch/x86/mm/pageattr.c +++ linux/arch/x86/mm/pageattr.c @@ -152,9 +152,14 @@ pte_t *lookup_address(unsigned long addr if (pgd_none(*pgd)) return NULL; + + *level = PG_LEVEL_1G; pud = pud_offset(pgd, address); if (pud_none(*pud)) return NULL; Please move the level update here, so it is consistent with PMD. Thanks, tglx -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] [6/9] GBPAGES: Add gbpages support to lookup_address
Signed-off-by: Andi Kleen <[EMAIL PROTECTED]> --- arch/x86/mm/pageattr.c|5 + include/asm-x86/pgtable.h |1 + 2 files changed, 6 insertions(+) Index: linux/arch/x86/mm/pageattr.c === --- linux.orig/arch/x86/mm/pageattr.c +++ linux/arch/x86/mm/pageattr.c @@ -152,9 +152,14 @@ pte_t *lookup_address(unsigned long addr if (pgd_none(*pgd)) return NULL; + + *level = PG_LEVEL_1G; pud = pud_offset(pgd, address); if (pud_none(*pud)) return NULL; + if (pud_large(*pud)) + return (pte_t *)pud; + pmd = pmd_offset(pud, address); if (pmd_none(*pmd)) return NULL; Index: linux/include/asm-x86/pgtable.h === --- linux.orig/include/asm-x86/pgtable.h +++ linux/include/asm-x86/pgtable.h @@ -242,6 +242,7 @@ enum { PG_LEVEL_NONE, PG_LEVEL_4K, PG_LEVEL_2M, + PG_LEVEL_1G, }; /* -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] [6/9] GBPAGES: Add gbpages support to lookup_address
Signed-off-by: Andi Kleen [EMAIL PROTECTED] --- arch/x86/mm/pageattr.c|5 + include/asm-x86/pgtable.h |1 + 2 files changed, 6 insertions(+) Index: linux/arch/x86/mm/pageattr.c === --- linux.orig/arch/x86/mm/pageattr.c +++ linux/arch/x86/mm/pageattr.c @@ -152,9 +152,14 @@ pte_t *lookup_address(unsigned long addr if (pgd_none(*pgd)) return NULL; + + *level = PG_LEVEL_1G; pud = pud_offset(pgd, address); if (pud_none(*pud)) return NULL; + if (pud_large(*pud)) + return (pte_t *)pud; + pmd = pmd_offset(pud, address); if (pmd_none(*pmd)) return NULL; Index: linux/include/asm-x86/pgtable.h === --- linux.orig/include/asm-x86/pgtable.h +++ linux/include/asm-x86/pgtable.h @@ -242,6 +242,7 @@ enum { PG_LEVEL_NONE, PG_LEVEL_4K, PG_LEVEL_2M, + PG_LEVEL_1G, }; /* -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/