Hi Thomas, I love your patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on linus/master v5.9-rc5 next-20200914] [cannot apply to rcu/dev arm/for-next tip/sched/core linux/master] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Thomas-Gleixner/preempt-Make-preempt-count-unconditional/20200915-044640 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: microblaze-randconfig-r033-20200913 (attached as .config) compiler: microblaze-linux-gcc (GCC) 9.3.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 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=microblaze If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/linux/interrupt.h:6, from drivers/net/can/m_can/m_can.c:12: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/linux/list.h:9, from include/linux/timer.h:5, from drivers/target/target_core_pscsi.c:15: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ drivers/target/target_core_pscsi.c: In function 'pscsi_complete_cmd': drivers/target/target_core_pscsi.c:624:5: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 624 | ; /* XXX: TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE */ | ^ -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/linux/list.h:9, from include/linux/module.h:12, from drivers/nvme/target/core.c:7: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ In file included from drivers/nvme/target/trace.h:169, from drivers/nvme/target/core.c:14: include/trace/define_trace.h: At top level: include/trace/define_trace.h:95:42: fatal error: ./trace.h: No such file or directory 95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) | ^ compilation terminated. -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/linux/uio.h:8, from include/linux/socket.h:8, from include/rdma/rdma_cm.h:10, from drivers/infiniband/core/cma_trace.c:12: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ In file included from drivers/infiniband/core/cma_trace.h:401, from drivers/infiniband/core/cma_trace.c:16: include/trace/define_trace.h: At top level: include/trace/define_trace.h:95:42: fatal error: ./cma_trace.h: No such file or directory 95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) | ^ compilation terminated. -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from drivers/ata/ahci_platform.c:11: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ In file included from drivers/ata/ahci_platform.c:21: drivers/ata/ahci_platform.c: At top level: drivers/ata/ahci.h:385:16: warning: initialized field overwritten [-Woverride-init] 385 | .can_queue = AHCI_MAX_CMDS, \ | ^~~~~~~~~~~~~ drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT' 40 | AHCI_SHT(DRV_NAME), | ^~~~~~~~ drivers/ata/ahci.h:385:16: note: (near initialization for 'ahci_platform_sht.can_queue') 385 | .can_queue = AHCI_MAX_CMDS, \ | ^~~~~~~~~~~~~ drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT' 40 | AHCI_SHT(DRV_NAME), | ^~~~~~~~ drivers/ata/ahci.h:389:17: warning: initialized field overwritten [-Woverride-init] 389 | .sdev_attrs = ahci_sdev_attrs | ^~~~~~~~~~~~~~~ drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT' 40 | AHCI_SHT(DRV_NAME), | ^~~~~~~~ drivers/ata/ahci.h:389:17: note: (near initialization for 'ahci_platform_sht.sdev_attrs') 389 | .sdev_attrs = ahci_sdev_attrs | ^~~~~~~~~~~~~~~ drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT' 40 | AHCI_SHT(DRV_NAME), | ^~~~~~~~ -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from drivers/ata/ahci_ceva.c:10: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ In file included from drivers/ata/ahci_ceva.c:15: drivers/ata/ahci_ceva.c: At top level: drivers/ata/ahci.h:385:16: warning: initialized field overwritten [-Woverride-init] 385 | .can_queue = AHCI_MAX_CMDS, \ | ^~~~~~~~~~~~~ drivers/ata/ahci_ceva.c:187:2: note: in expansion of macro 'AHCI_SHT' 187 | AHCI_SHT(DRV_NAME), | ^~~~~~~~ drivers/ata/ahci.h:385:16: note: (near initialization for 'ahci_platform_sht.can_queue') 385 | .can_queue = AHCI_MAX_CMDS, \ | ^~~~~~~~~~~~~ drivers/ata/ahci_ceva.c:187:2: note: in expansion of macro 'AHCI_SHT' 187 | AHCI_SHT(DRV_NAME), | ^~~~~~~~ drivers/ata/ahci.h:389:17: warning: initialized field overwritten [-Woverride-init] 389 | .sdev_attrs = ahci_sdev_attrs | ^~~~~~~~~~~~~~~ drivers/ata/ahci_ceva.c:187:2: note: in expansion of macro 'AHCI_SHT' 187 | AHCI_SHT(DRV_NAME), | ^~~~~~~~ drivers/ata/ahci.h:389:17: note: (near initialization for 'ahci_platform_sht.sdev_attrs') 389 | .sdev_attrs = ahci_sdev_attrs | ^~~~~~~~~~~~~~~ drivers/ata/ahci_ceva.c:187:2: note: in expansion of macro 'AHCI_SHT' 187 | AHCI_SHT(DRV_NAME), | ^~~~~~~~ -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/linux/list.h:9, from include/linux/module.h:12, from drivers/net/ethernet/intel/e1000/e1000.h:10, from drivers/net/ethernet/intel/e1000/e1000_hw.c:8: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ drivers/net/ethernet/intel/e1000/e1000_hw.c: In function 'e1000_phy_init_script': drivers/net/ethernet/intel/e1000/e1000_hw.c:132:6: warning: variable 'ret_val' set but not used [-Wunused-but-set-variable] 132 | u32 ret_val; | ^~~~~~~ drivers/net/ethernet/intel/e1000/e1000_hw.c: In function 'e1000_reset_hw': drivers/net/ethernet/intel/e1000/e1000_hw.c:380:6: warning: variable 'icr' set but not used [-Wunused-but-set-variable] 380 | u32 icr; | ^~~ drivers/net/ethernet/intel/e1000/e1000_hw.c: In function 'e1000_check_for_link': drivers/net/ethernet/intel/e1000/e1000_hw.c:2378:6: warning: variable 'signal' set but not used [-Wunused-but-set-variable] 2378 | u32 signal = 0; | ^~~~~~ drivers/net/ethernet/intel/e1000/e1000_hw.c:2374:6: warning: variable 'ctrl' set but not used [-Wunused-but-set-variable] 2374 | u32 ctrl; | ^~~~ drivers/net/ethernet/intel/e1000/e1000_hw.c:2373:6: warning: variable 'rxcw' set but not used [-Wunused-but-set-variable] 2373 | u32 rxcw = 0; | ^~~~ drivers/net/ethernet/intel/e1000/e1000_hw.c: In function 'e1000_clear_hw_cntrs': drivers/net/ethernet/intel/e1000/e1000_hw.c:4678:15: warning: variable 'temp' set but not used [-Wunused-but-set-variable] 4678 | volatile u32 temp; | ^~~~ -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/linux/list.h:9, from include/linux/module.h:12, from drivers/video/fbdev/uvesafb.c:13: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ drivers/video/fbdev/uvesafb.c: In function 'uvesafb_vbe_getinfo': drivers/video/fbdev/uvesafb.c:426:2: warning: 'strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] 426 | strncpy(par->vbe_ib.vbe_signature, "VBE2", 4); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/linux/list.h:9, from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/utsname.h:6, from drivers/char/random.c:312: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ drivers/char/random.c: At top level: drivers/char/random.c:2297:6: warning: no previous prototype for 'add_hwgenerator_randomness' [-Wmissing-prototypes] 2297 | void add_hwgenerator_randomness(const char *buffer, size_t count, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/asm-generic/bug.h:20, from ./arch/microblaze/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from include/linux/pagemap.h:8, from drivers/dax/super.c:5: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ drivers/dax/super.c: At top level: drivers/dax/super.c:447:6: warning: no previous prototype for 'run_dax' [-Wmissing-prototypes] 447 | void run_dax(struct dax_device *dax_dev) | ^~~~~~~ -- In file included from include/linux/bits.h:22, from include/linux/bitops.h:5, from include/linux/kernel.h:12, from include/linux/list.h:9, from include/linux/module.h:12, from drivers/block/drbd/drbd_main.c:19: include/linux/pagemap.h: In function '__page_cache_add_speculative': >> include/linux/build_bug.h:30:34: error: called object is not a function or function pointer 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mmdebug.h:45:25: note: in expansion of macro 'BUILD_BUG_ON_INVALID' 45 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | ^~~~~~~~~~~~~~~~~~~~ include/linux/pagemap.h:171:2: note: in expansion of macro 'VM_BUG_ON' 171 | VM_BUG_ON(preemptible()) | ^~~~~~~~~ drivers/block/drbd/drbd_main.c: In function 'cmdname': drivers/block/drbd/drbd_main.c:3683:22: warning: initialized field overwritten [-Woverride-init] 3683 | [P_RETRY_WRITE] = "retry_write", | ^~~~~~~~~~~~~ drivers/block/drbd/drbd_main.c:3683:22: note: (near initialization for 'cmdnames[44]') .. # https://github.com/0day-ci/linux/commit/a4a0f54fdd08d95dfe20d684b405db8a47fb61d8 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thomas-Gleixner/preempt-Make-preempt-count-unconditional/20200915-044640 git checkout a4a0f54fdd08d95dfe20d684b405db8a47fb61d8 vim +30 include/linux/build_bug.h 527edbc18a70e7 Masahiro Yamada 2019-01-03 18 527edbc18a70e7 Masahiro Yamada 2019-01-03 19 /* Force a compilation error if a constant expression is not a power of 2 */ 527edbc18a70e7 Masahiro Yamada 2019-01-03 20 #define __BUILD_BUG_ON_NOT_POWER_OF_2(n) \ 527edbc18a70e7 Masahiro Yamada 2019-01-03 21 BUILD_BUG_ON(((n) & ((n) - 1)) != 0) 527edbc18a70e7 Masahiro Yamada 2019-01-03 22 #define BUILD_BUG_ON_NOT_POWER_OF_2(n) \ 527edbc18a70e7 Masahiro Yamada 2019-01-03 23 BUILD_BUG_ON((n) == 0 || (((n) & ((n) - 1)) != 0)) bc6245e5efd70c Ian Abbott 2017-07-10 24 bc6245e5efd70c Ian Abbott 2017-07-10 25 /* bc6245e5efd70c Ian Abbott 2017-07-10 26 * BUILD_BUG_ON_INVALID() permits the compiler to check the validity of the bc6245e5efd70c Ian Abbott 2017-07-10 27 * expression but avoids the generation of any code, even if that expression bc6245e5efd70c Ian Abbott 2017-07-10 28 * has side-effects. bc6245e5efd70c Ian Abbott 2017-07-10 29 */ bc6245e5efd70c Ian Abbott 2017-07-10 @30 #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) bc6245e5efd70c Ian Abbott 2017-07-10 31 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org