x86: fix vmemmap printout check
authorYinghai Lu <yhlu.kernel@gmail.com>
Thu, 3 Jul 2008 19:29:34 +0000 (12:29 -0700)
committerIngo Molnar <mingo@elte.hu>
Wed, 9 Jul 2008 08:43:24 +0000 (10:43 +0200)
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: "Nick Piggin" <npiggin@suse.de>
Cc: "Mark McLoughlin" <markmc@redhat.com>
Cc: xen-devel <xen-devel@lists.xensource.com>
Cc: "Eduardo Habkost" <ehabkost@redhat.com>
Cc: "Vegard Nossum" <vegard.nossum@gmail.com>
Cc: "Stephen Tweedie" <sct@redhat.com>
Cc: "Jeremy Fitzhardinge" <jeremy@goop.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/init_64.c

index 7227a0a..f7d8031 100644 (file)
@@ -1104,9 +1104,6 @@ vmemmap_populate(struct page *start_page, unsigned long size, int node)
                                                PAGE_KERNEL_LARGE);
                                set_pmd(pmd, __pmd(pte_val(entry)));
 
-                               addr_end = addr + PMD_SIZE;
-                               p_end = p + PMD_SIZE;
-
                                /* check to see if we have contiguous blocks */
                                if (p_end != p || node_start != node) {
                                        if (p_start)
@@ -1116,6 +1113,9 @@ vmemmap_populate(struct page *start_page, unsigned long size, int node)
                                        node_start = node;
                                        p_start = p;
                                }
+
+                               addr_end = addr + PMD_SIZE;
+                               p_end = p + PMD_SIZE;
                        } else
                                vmemmap_verify((pte_t *)pmd, node, addr, next);
                }