The patch titled Subject: mm/page_alloc: Revert pahole zero-sized workaround has been added to the -mm tree. Its filename is mm-page_alloc-revert-pahole-zero-sized-workaround.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-page_alloc-revert-pahole-zero-sized-workaround.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-page_alloc-revert-pahole-zero-sized-workaround.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Subject: mm/page_alloc: Revert pahole zero-sized workaround Commit dbbee9d5cd83 ("mm/page_alloc: convert per-cpu list protection to local_lock") folded in a workaround patch for pahole that was unable to deal with zero-sized percpu structures. A superior workaround is achieved with commit a0b8200d06ad ("kbuild: skip per-CPU BTF generation for pahole v1.18-v1.21"). This patch reverts the dummy field and the pahole version check. Link: https://lkml.kernel.org/r/20210705095117.GM3840@xxxxxxxxxxxxxxxxxxx Fixes: dbbee9d5cd83 ("mm/page_alloc: convert per-cpu list protection to local_lock") Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Chuck Lever III <chuck.lever@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- lib/Kconfig.debug | 3 --- mm/page_alloc.c | 11 ----------- 2 files changed, 14 deletions(-) --- a/lib/Kconfig.debug~mm-page_alloc-revert-pahole-zero-sized-workaround +++ a/lib/Kconfig.debug @@ -313,9 +313,6 @@ config DEBUG_INFO_BTF config PAHOLE_HAS_SPLIT_BTF def_bool $(success, test `$(PAHOLE) --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/'` -ge "119") -config PAHOLE_HAS_ZEROSIZE_PERCPU_SUPPORT - def_bool $(success, test `$(PAHOLE) --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/'` -ge "122") - config DEBUG_INFO_BTF_MODULES def_bool y depends on DEBUG_INFO_BTF && MODULES && PAHOLE_HAS_SPLIT_BTF --- a/mm/page_alloc.c~mm-page_alloc-revert-pahole-zero-sized-workaround +++ a/mm/page_alloc.c @@ -124,17 +124,6 @@ static DEFINE_MUTEX(pcp_batch_high_lock) struct pagesets { local_lock_t lock; -#if defined(CONFIG_DEBUG_INFO_BTF) && \ - !defined(CONFIG_DEBUG_LOCK_ALLOC) && \ - !defined(CONFIG_PAHOLE_HAS_ZEROSIZE_PERCPU_SUPPORT) - /* - * pahole 1.21 and earlier gets confused by zero-sized per-CPU - * variables and produces invalid BTF. Ensure that - * sizeof(struct pagesets) != 0 for older versions of pahole. - */ - char __pahole_hack; - #warning "pahole too old to support zero-sized struct pagesets" -#endif }; static DEFINE_PER_CPU(struct pagesets, pagesets) = { .lock = INIT_LOCAL_LOCK(lock), _ Patches currently in -mm which might be from mgorman@xxxxxxxxxxxxxxxxxxx are mm-page_alloc-revert-pahole-zero-sized-workaround.patch