Re: [PATCH] [6/9] GBPAGES: Add gbpages support to lookup_address

2008-01-31 Thread Thomas Gleixner
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

2008-01-31 Thread Thomas Gleixner
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

2008-01-28 Thread Andi Kleen

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

2008-01-28 Thread Andi Kleen

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/