summaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/init_64.c
diff options
context:
space:
mode:
authorJeremy Fitzhardinge2008-07-02 01:46:33 +0200
committerIngo Molnar2008-07-08 13:16:27 +0200
commit574977a2edde0148ea365008dceb0c2594d10b11 (patch)
treef20b4093034b5a9293dba7bc132778aebbe41e26 /arch/x86/mm/init_64.c
parentx86: fix "x86: let setup_arch call init_apic_mappings for 32bit" (diff)
downloadkernel-qcow2-linux-574977a2edde0148ea365008dceb0c2594d10b11.tar.gz
kernel-qcow2-linux-574977a2edde0148ea365008dceb0c2594d10b11.tar.xz
kernel-qcow2-linux-574977a2edde0148ea365008dceb0c2594d10b11.zip
x86_64/setup: unconditionally populate the pgd
When allocating a new pud, unconditionally populate the pgd (why did we bother to create a new pud if we weren't going to populate it?). This will only happen if the pgd slot was empty, since any existing pud will be reused. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Stephen Tweedie <sct@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm/init_64.c')
-rw-r--r--arch/x86/mm/init_64.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index b10b7f17ea58..77d129d62c97 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -616,9 +616,8 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, unsigned lon
last_map_addr = phys_pud_init(pud, __pa(start), __pa(next));
unmap_low_page(pud);
- if (!after_bootmem)
- pgd_populate(&init_mm, pgd_offset_k(start),
- __va(pud_phys));
+ pgd_populate(&init_mm, pgd_offset_k(start),
+ __va(pud_phys));
}
if (!after_bootmem)