tree: https://github.com/ammarfaizi2/linux-block stable/linux-stable-rc/queue/5.10 head: 9bee85062966b2892dabbfaead0c3cd35e23d1c5 commit: 140402d6d4e43ab3896e3092fbca88ce64eba3b1 [5/6] wait_on_bit: add an acquire memory barrier config: arc-allyesconfig compiler: arceb-elf-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/ammarfaizi2/linux-block/commit/140402d6d4e43ab3896e3092fbca88ce64eba3b1 git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block stable/linux-stable-rc/queue/5.10 git checkout 140402d6d4e43ab3896e3092fbca88ce64eba3b1 # 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=arc prepare If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/fs.h:6, from include/linux/huge_mm.h:8, from include/linux/mm.h:687, from arch/arc/kernel/asm-offsets.c:7: include/linux/wait_bit.h: In function 'wait_on_bit': >> include/linux/wait_bit.h:74:14: error: implicit declaration of function 'test_bit_acquire'; did you mean 'test_bit_le'? [-Werror=implicit-function-declaration] 74 | if (!test_bit_acquire(bit, word)) | ^~~~~~~~~~~~~~~~ | test_bit_le cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:117: arch/arc/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1225: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:185: __sub-make] Error 2 make: Target 'prepare' not remade because of errors. vim +74 include/linux/wait_bit.h 53 54 /** 55 * wait_on_bit - wait for a bit to be cleared 56 * @word: the word being waited on, a kernel virtual address 57 * @bit: the bit of the word being waited on 58 * @mode: the task state to sleep in 59 * 60 * There is a standard hashed waitqueue table for generic use. This 61 * is the part of the hashtable's accessor API that waits on a bit. 62 * For instance, if one were to have waiters on a bitflag, one would 63 * call wait_on_bit() in threads waiting for the bit to clear. 64 * One uses wait_on_bit() where one is waiting for the bit to clear, 65 * but has no intention of setting it. 66 * Returned value will be zero if the bit was cleared, or non-zero 67 * if the process received a signal and the mode permitted wakeup 68 * on that signal. 69 */ 70 static inline int 71 wait_on_bit(unsigned long *word, int bit, unsigned mode) 72 { 73 might_sleep(); > 74 if (!test_bit_acquire(bit, word)) 75 return 0; 76 return out_of_line_wait_on_bit(word, bit, 77 bit_wait, 78 mode); 79 } 80 -- 0-DAY CI Kernel Test Service https://01.org/lkp