x86_64/setup: unconditionally populate the pgd
authorJeremy Fitzhardinge <jeremy@goop.org>
Tue, 1 Jul 2008 23:46:33 +0000 (16:46 -0700)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 11:16:27 +0000 (13:16 +0200)
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>
arch/x86/mm/init_64.c

index b10b7f17ea58d414576ded22b3c1b713fb06d6b6..77d129d62c974904fec4bf924c58f51b8a3d9d3c 100644 (file)
@@ -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)