On Thu, May 13, 2021 at 10:29:49AM -0700, Randy Dunlap wrote: > On 5/12/21 10:44 PM, Stephen Rothwell wrote: > > Hi all, > > > > Changes since 20210512: > > > > on x86_64: > > In function ‘__mm_zero_struct_page.isra.75’, > inlined from ‘__init_single_page.isra.76’ at ../mm/page_alloc.c:1494:2: > ./../include/linux/compiler_types.h:328:38: error: call to ‘__compiletime_assert_162’ declared with attribute error: BUILD_BUG_ON failed: sizeof(struct page) > 80 Hmm. struct { long unsigned int _pt_pad_1; /* 8 8 */ pgtable_t pmd_huge_pte; /* 16 8 */ long unsigned int _pt_pad_2; /* 24 8 */ union { struct mm_struct * pt_mm; /* 32 8 */ atomic_t pt_frag_refcount; /* 32 4 */ }; /* 32 8 */ spinlock_t ptl; /* 40 72 */ }; /* 8 104 */ #if ALLOC_SPLIT_PTLOCKS spinlock_t *ptl; #else spinlock_t ptl; #endif something has disabled ALLOC_SPLIT_PTLOCKS when it ought to be enabled. #if USE_SPLIT_PTE_PTLOCKS #define ALLOC_SPLIT_PTLOCKS (SPINLOCK_SIZE > BITS_PER_LONG/8) #else #define ALLOC_SPLIT_PTLOCKS 0 #endif Oh. This is Anshuman's fault. commit 9b8a39056e2472592a5e5897987387f43038b8ba Author: Anshuman Khandual <anshuman.khandual@xxxxxxx> Date: Tue May 11 15:06:01 2021 +1000 mm/thp: make ALLOC_SPLIT_PTLOCKS dependent on USE_SPLIT_PTE_PTLOCKS