diff options
author | Zhaolei <zhaolei@cn.fujitsu.com> | 2008-10-31 05:43:04 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-31 06:03:17 -0400 |
commit | a376f30a95a796cde81d6dffde0f5243c8bd8f92 (patch) | |
tree | 443b34aae8d99524ee9e7669ade05c6f06585967 /arch/x86/mm | |
parent | 7a5276889cfa96619bf863c87581005f46139986 (diff) |
x86: avoid duplicate running of pud_offset and pmd_offset in one_md_table_init()
Impact: simplify implementation, cleanup
If !(pgd_val(*pgd) & _PAGE_PRESENT) in PAE mode, we need not get value of
pmd_table again.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm')
-rw-r--r-- | arch/x86/mm/init_32.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index 8396868e82c5..7f8a2daa3fde 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c | |||
@@ -102,6 +102,8 @@ static pmd_t * __init one_md_table_init(pgd_t *pgd) | |||
102 | set_pgd(pgd, __pgd(__pa(pmd_table) | _PAGE_PRESENT)); | 102 | set_pgd(pgd, __pgd(__pa(pmd_table) | _PAGE_PRESENT)); |
103 | pud = pud_offset(pgd, 0); | 103 | pud = pud_offset(pgd, 0); |
104 | BUG_ON(pmd_table != pmd_offset(pud, 0)); | 104 | BUG_ON(pmd_table != pmd_offset(pud, 0)); |
105 | |||
106 | return pmd_table; | ||
105 | } | 107 | } |
106 | #endif | 108 | #endif |
107 | pud = pud_offset(pgd, 0); | 109 | pud = pud_offset(pgd, 0); |