mm/page_alloc: Revert pahole zero-sized workaround
authorMel Gorman <mgorman@techsingularity.net>
Mon, 5 Jul 2021 09:51:17 +0000 (10:51 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 10 Jul 2021 23:09:39 +0000 (16:09 -0700)
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.

Fixes: dbbee9d5cd83 ("mm/page_alloc: convert per-cpu list protection to local_lock")
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/Kconfig.debug
mm/page_alloc.c

index 83a931c..8312127 100644 (file)
@@ -324,9 +324,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
index d6e94cc..3b97e17 100644 (file)
@@ -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),