[tip:smp/hotplug 42/44] include/linux/jump_label.h:260:20: error: inlining failed in call to always_inline 'static_key_disable_cpuslocked.constprop.99': recursive inlining

From: kbuild test robot
Date: Sun Apr 23 2017 - 11:38:18 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git smp/hotplug
head: 8b836972c33553d3ff70954af090debfc9dc84c6
commit: 924726b2b5e5000dfb8eb6032651baed1b1bdc6c [42/44] perf: Cure hotplug lock ordering issues
config: x86_64-randconfig-n0-04232222 (attached as .config)
compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4
reproduce:
git checkout 924726b2b5e5000dfb8eb6032651baed1b1bdc6c
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

In file included from arch/x86/include/asm/string_64.h:5:0,
from arch/x86/include/asm/string.h:4,
from include/linux/string.h:18,
from include/linux/bitmap.h:8,
from include/linux/cpumask.h:11,
from arch/x86/include/asm/cpumask.h:4,
from arch/x86/include/asm/msr.h:10,
from arch/x86/include/asm/processor.h:20,
from arch/x86/include/asm/cpufeature.h:4,
from arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:25,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:80,
from include/linux/spinlock.h:50,
from include/linux/wait.h:8,
from include/linux/fs.h:5,
from kernel/events/core.c:12:
include/linux/jump_label.h: In function 'static_key_disable_cpuslocked.constprop.99':
>> include/linux/jump_label.h:260:20: error: inlining failed in call to always_inline 'static_key_disable_cpuslocked.constprop.99': recursive inlining
static inline void static_key_disable_cpuslocked(struct static_key *key)
^
include/linux/jump_label.h:262:31: error: called from here
static_key_disable_cpuslocked(key);
^
include/linux/jump_label.h: In function 'perf_sched_delayed':
>> include/linux/jump_label.h:260:20: error: inlining failed in call to always_inline 'static_key_disable_cpuslocked.constprop.99': recursive inlining
static inline void static_key_disable_cpuslocked(struct static_key *key)
^
include/linux/jump_label.h:262:31: error: called from here
static_key_disable_cpuslocked(key);
^

vim +260 include/linux/jump_label.h

e33886b3 Peter Zijlstra 2015-07-24 244 WARN_ON_ONCE(count < 0 || count > 1);
e33886b3 Peter Zijlstra 2015-07-24 245
e33886b3 Peter Zijlstra 2015-07-24 246 if (!count)
e33886b3 Peter Zijlstra 2015-07-24 247 static_key_slow_inc(key);
e33886b3 Peter Zijlstra 2015-07-24 248 }
e33886b3 Peter Zijlstra 2015-07-24 249
e33886b3 Peter Zijlstra 2015-07-24 250 static inline void static_key_disable(struct static_key *key)
e33886b3 Peter Zijlstra 2015-07-24 251 {
e33886b3 Peter Zijlstra 2015-07-24 252 int count = static_key_count(key);
e33886b3 Peter Zijlstra 2015-07-24 253
e33886b3 Peter Zijlstra 2015-07-24 254 WARN_ON_ONCE(count < 0 || count > 1);
e33886b3 Peter Zijlstra 2015-07-24 255
e33886b3 Peter Zijlstra 2015-07-24 256 if (count)
e33886b3 Peter Zijlstra 2015-07-24 257 static_key_slow_dec(key);
e33886b3 Peter Zijlstra 2015-07-24 258 }
e33886b3 Peter Zijlstra 2015-07-24 259
fc932a04 Thomas Gleixner 2017-04-23 @260 static inline void static_key_disable_cpuslocked(struct static_key *key)
fc932a04 Thomas Gleixner 2017-04-23 261 {
fc932a04 Thomas Gleixner 2017-04-23 262 static_key_disable_cpuslocked(key);
fc932a04 Thomas Gleixner 2017-04-23 263 }
fc932a04 Thomas Gleixner 2017-04-23 264
1f69bf9c Jason Baron 2016-08-03 265 #define STATIC_KEY_INIT_TRUE { .enabled = ATOMIC_INIT(1) }
1f69bf9c Jason Baron 2016-08-03 266 #define STATIC_KEY_INIT_FALSE { .enabled = ATOMIC_INIT(0) }
1f69bf9c Jason Baron 2016-08-03 267
1f69bf9c Jason Baron 2016-08-03 268 #endif /* HAVE_JUMP_LABEL */

:::::: The code at line 260 was first introduced by commit
:::::: fc932a0477d0f16934847eacba1c8b7ccf71e650 jump_label: Provide static_key_[disable|/slow_dec]_cpuslocked()

:::::: TO: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
:::::: CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip