threw this into the random test setup: it found the attached config
after a few iterations, which needed the fix below. (config builds and
boots fine with this fix)
the problem was that set_pud() is used by
include/asm-generic/pgtable-nopud.h, to build set_pgd():
#define set_pgd(pgdptr, pgdval) set_pud((pud_t *)(pgdptr), (pud_t) { pgdval })
it's truly a maze ... took me 10 straight minutes of staring at the code
to figure out where the set_pud() came from :-/
anyway, your patchset is holding up pretty good so far in testing.
Ingo
--------------------->
Subject: x86: unify-pgtable.h, fix
From: Ingo Molnar <mingo@elte.hu>
fix build error.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
include/asm-x86/pgtable.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: linux-x86.q/include/asm-x86/pgtable.h
===================================================================
--- linux-x86.q.orig/include/asm-x86/pgtable.h
+++ linux-x86.q/include/asm-x86/pgtable.h
@@ -190,10 +190,11 @@ static inline pte_t pte_modify(pte_t pte
#ifndef __PAGETABLE_PUD_FOLDED
#define set_pgd(pgdp, pgd) native_set_pgd(pgdp, pgd)
-#define set_pud(pudp, pud) native_set_pud(pudp, pud)
#define pgd_clear(pgd) native_pgd_clear(pgd)
#endif
+#define set_pud(pudp, pud) native_set_pud(pudp, pud)
+
#ifndef __PAGETABLE_PMD_FOLDED
#define pud_clear(pud) native_pud_clear(pud)
#endif