Hi Dmitry, Thank you for the patch! Yet something to improve: [auto build test ERROR on f2f32f8af2b0ca9d619e5183eae3eed431793baf] url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Safonov/net-tcp-Dynamically-disable-TCP-MD5-static-key/20221104-052738 base: f2f32f8af2b0ca9d619e5183eae3eed431793baf patch link: https://lore.kernel.org/r/20221103212524.865762-2-dima%40arista.com patch subject: [PATCH v2 1/3] jump_label: Add static_key_fast_inc() config: powerpc-allyesconfig compiler: powerpc-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/bff5ecacd7c0f1e5d610c025726a6c5cb992e828 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Dmitry-Safonov/net-tcp-Dynamically-disable-TCP-MD5-static-key/20221104-052738 git checkout bff5ecacd7c0f1e5d610c025726a6c5cb992e828 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc prepare If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): In file included from arch/powerpc/include/asm/page.h:256, from arch/powerpc/include/asm/thread_info.h:13, from include/linux/thread_info.h:60, from arch/powerpc/include/asm/ptrace.h:328, from arch/powerpc/include/asm/hw_irq.h:12, from arch/powerpc/include/asm/irqflags.h:12, from include/linux/irqflags.h:16, from include/asm-generic/cmpxchg-local.h:6, from arch/powerpc/include/asm/cmpxchg.h:526, from arch/powerpc/include/asm/atomic.h:11, from include/linux/atomic.h:7, from include/linux/jump_label.h:78, from include/linux/dynamic_debug.h:6, from include/linux/printk.h:566, from include/asm-generic/bug.h:22, from arch/powerpc/include/asm/bug.h:158, from include/linux/bug.h:5, from include/linux/fortify-string.h:5, from include/linux/string.h:253, from include/linux/uuid.h:12, from include/linux/mod_devicetable.h:13, from scripts/mod/devicetable-offsets.c:3: arch/powerpc/include/asm/page_32.h: In function 'clear_page': >> arch/powerpc/include/asm/page_32.h:48:9: error: implicit declaration of function 'WARN_ON' [-Werror=implicit-function-declaration] 48 | WARN_ON((unsigned long)addr & (L1_CACHE_BYTES - 1)); | ^~~~~~~ In file included from arch/powerpc/include/asm/hw_breakpoint.h:12, from arch/powerpc/include/asm/processor.h:43, from arch/powerpc/include/asm/thread_info.h:46: arch/powerpc/include/asm/cpu_has_feature.h: At top level: >> arch/powerpc/include/asm/cpu_has_feature.h:21:31: error: array type has incomplete element type 'struct static_key_true' 21 | extern struct static_key_true cpu_feature_keys[NUM_CPU_FTR_KEYS]; | ^~~~~~~~~~~~~~~~ arch/powerpc/include/asm/cpu_has_feature.h: In function 'cpu_has_feature': >> arch/powerpc/include/asm/cpu_has_feature.h:32:14: error: 'static_key_initialized' undeclared (first use in this function) 32 | if (!static_key_initialized) { | ^~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/cpu_has_feature.h:32:14: note: each undeclared identifier is reported only once for each function it appears in >> arch/powerpc/include/asm/cpu_has_feature.h:46:16: error: implicit declaration of function 'static_branch_likely' [-Werror=implicit-function-declaration] 46 | return static_branch_likely(&cpu_feature_keys[i]); | ^~~~~~~~~~~~~~~~~~~~ >> arch/powerpc/include/asm/cpu_has_feature.h:25:13: warning: variable 'i' set but not used [-Wunused-but-set-variable] 25 | int i; | ^ include/linux/thread_info.h: In function 'check_copy_size': >> include/linux/thread_info.h:233:13: error: implicit declaration of function 'WARN_ON_ONCE' [-Werror=implicit-function-declaration] 233 | if (WARN_ON_ONCE(bytes > INT_MAX)) | ^~~~~~~~~~~~ include/linux/jump_label.h: In function 'static_key_fast_inc': include/linux/jump_label.h:83:35: error: implicit declaration of function 'WARN' [-Werror=implicit-function-declaration] 83 | #define STATIC_KEY_CHECK_USE(key) WARN(!static_key_initialized, \ | ^~~~ include/linux/jump_label.h:250:9: note: in expansion of macro 'STATIC_KEY_CHECK_USE' 250 | STATIC_KEY_CHECK_USE(key); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:118: scripts/mod/devicetable-offsets.s] Error 1 make[2]: Target 'scripts/mod/' not remade because of errors. make[1]: *** [Makefile:1269: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:231: __sub-make] Error 2 make: Target 'prepare' not remade because of errors. vim +/static_key_initialized +32 arch/powerpc/include/asm/cpu_has_feature.h 4db7327194dba0 Kevin Hao 2016-07-23 20 4db7327194dba0 Kevin Hao 2016-07-23 @21 extern struct static_key_true cpu_feature_keys[NUM_CPU_FTR_KEYS]; 4db7327194dba0 Kevin Hao 2016-07-23 22 4db7327194dba0 Kevin Hao 2016-07-23 23 static __always_inline bool cpu_has_feature(unsigned long feature) 4db7327194dba0 Kevin Hao 2016-07-23 24 { 4db7327194dba0 Kevin Hao 2016-07-23 @25 int i; 4db7327194dba0 Kevin Hao 2016-07-23 26 b5fa0f7f88edcd Michael Ellerman 2017-01-24 27 #ifndef __clang__ /* clang can't cope with this */ 4db7327194dba0 Kevin Hao 2016-07-23 28 BUILD_BUG_ON(!__builtin_constant_p(feature)); b5fa0f7f88edcd Michael Ellerman 2017-01-24 29 #endif 4db7327194dba0 Kevin Hao 2016-07-23 30 c812c7d8f1470a Aneesh Kumar K.V 2016-07-23 31 #ifdef CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG c812c7d8f1470a Aneesh Kumar K.V 2016-07-23 @32 if (!static_key_initialized) { c812c7d8f1470a Aneesh Kumar K.V 2016-07-23 33 printk("Warning! cpu_has_feature() used prior to jump label init!\n"); c812c7d8f1470a Aneesh Kumar K.V 2016-07-23 34 dump_stack(); c812c7d8f1470a Aneesh Kumar K.V 2016-07-23 35 return early_cpu_has_feature(feature); c812c7d8f1470a Aneesh Kumar K.V 2016-07-23 36 } c812c7d8f1470a Aneesh Kumar K.V 2016-07-23 37 #endif c812c7d8f1470a Aneesh Kumar K.V 2016-07-23 38 4db7327194dba0 Kevin Hao 2016-07-23 39 if (CPU_FTRS_ALWAYS & feature) 4db7327194dba0 Kevin Hao 2016-07-23 40 return true; 4db7327194dba0 Kevin Hao 2016-07-23 41 4db7327194dba0 Kevin Hao 2016-07-23 42 if (!(CPU_FTRS_POSSIBLE & feature)) 4db7327194dba0 Kevin Hao 2016-07-23 43 return false; 4db7327194dba0 Kevin Hao 2016-07-23 44 4db7327194dba0 Kevin Hao 2016-07-23 45 i = __builtin_ctzl(feature); 4db7327194dba0 Kevin Hao 2016-07-23 @46 return static_branch_likely(&cpu_feature_keys[i]); 4db7327194dba0 Kevin Hao 2016-07-23 47 } 4db7327194dba0 Kevin Hao 2016-07-23 48 #else eed5fae00593ab Christophe Leroy 2021-03-10 49 static __always_inline bool cpu_has_feature(unsigned long feature) b92a226e528423 Kevin Hao 2016-07-23 50 { b92a226e528423 Kevin Hao 2016-07-23 51 return early_cpu_has_feature(feature); b92a226e528423 Kevin Hao 2016-07-23 52 } 4db7327194dba0 Kevin Hao 2016-07-23 53 #endif b92a226e528423 Kevin Hao 2016-07-23 54 -- 0-DAY CI Kernel Test Service https://01.org/lkp