Messages in this thread Patch in this message | | | Date | Thu, 17 Apr 2014 10:56:30 +0100 | From | Mel Gorman <> | Subject | Re: linux-next: build failure after merge of the akpm-current tree |
| |
On Thu, Apr 17, 2014 at 05:08:31PM +1000, Stephen Rothwell wrote: > Hi Andrew, > > After merging the akpm-current tree, today's linux-next build (arm > multi_v7_defconfig) failed like this: > > In file included from mm/shmem.c:61:0: > include/linux/swapops.h: In function 'is_swap_pte': > include/linux/swapops.h:57:2: error: implicit declaration of function 'pte_present_nonuma' [-Werror=implicit-function-declaration] > > And a couple more similar. > > Caused by commit 851fe3337768 ("x86: define _PAGE_NUMA by reusing > software bits on the PMD and PTE levels"). > > I have reverted this commit (and 7cb1c1eb682e "x86: define _PAGE_NUMA by > reusing software bits on the PMD and PTE levels -fix") for today and > wonder how many other architectures would be broken by this? Everything > else with CONFIG_MMU set? >
/me slaps self
Andrew, can you replace the broken fix with this version please?
---8<--- x86: define _PAGE_NUMA by reusing software bits on the PMD and PTE levels -fix
powerpc has NUMA_BALANCING and non-NUMA_BALANCING versions of pte_present and I missed that when testing cross-compiling. This patch replaces x86-define-_page_numa-by-reusing-software-bits-on-the-pmd-and-pte-levels-fix.patch
Signed-off-by: Mel Gorman <mgorman@suse.de> --- arch/powerpc/include/asm/pgtable.h | 1 + arch/x86/include/asm/pgtable.h | 1 + include/asm-generic/pgtable.h | 4 ++++ 3 files changed, 6 insertions(+)
diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h index cdf6679..d98c1ec 100644 --- a/arch/powerpc/include/asm/pgtable.h +++ b/arch/powerpc/include/asm/pgtable.h @@ -44,6 +44,7 @@ static inline int pte_present(pte_t pte) return pte_val(pte) & (_PAGE_PRESENT | _PAGE_NUMA); } +#define pte_present_nonuma pte_present_nonuma static inline int pte_present_nonuma(pte_t pte) { return pte_val(pte) & (_PAGE_PRESENT); diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 611dd32..d772c9c 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -452,6 +452,7 @@ static inline int pte_present(pte_t a) _PAGE_NUMA); } +#define pte_present_nonuma pte_present_nonuma static inline int pte_present_nonuma(pte_t a) { return pte_flags(a) & (_PAGE_PRESENT | _PAGE_PROTNONE); diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index d2b92be..8916a76 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h @@ -220,6 +220,10 @@ static inline int pmd_same(pmd_t pmd_a, pmd_t pmd_b) # define pte_accessible(mm, pte) ((void)(pte), 1) #endif +#ifndef pte_present_nonuma +#define pte_present_nonuma(pte) pte_present(pte) +#endif + #ifndef flush_tlb_fix_spurious_fault #define flush_tlb_fix_spurious_fault(vma, address) flush_tlb_page(vma, address) #endif
| |