On 1/12/23 21:43, kernel test robot wrote: > Hi Bob, > > Thank you for the patch! Yet something to improve: > > [auto build test ERROR on bd99ede8ef2dc03e29a181b755ba4f78da2644e6] > > url: https://github.com/intel-lab-lkp/linux/commits/Bob-Pearson/RDMA-rxe-Cleanup-mr_check_range/20230113-082406 > base: bd99ede8ef2dc03e29a181b755ba4f78da2644e6 > patch link: https://lore.kernel.org/r/20230113002116.457324-5-rpearsonhpe%40gmail.com > patch subject: [PATCH for-next v2 4/6] RDMA-rxe: Isolate mr code from atomic_write_reply() > config: powerpc-allmodconfig > 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/c7e5c2723da0d6b13e37cbff63dad653e5c8801c > git remote add linux-review https://github.com/intel-lab-lkp/linux > git fetch --no-tags linux-review Bob-Pearson/RDMA-rxe-Cleanup-mr_check_range/20230113-082406 > git checkout c7e5c2723da0d6b13e37cbff63dad653e5c8801c > # 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 olddefconfig > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/infiniband/sw/rxe/ > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All errors (new ones prefixed by >>): > > In file included from <command-line>: > drivers/infiniband/sw/rxe/rxe_mr.c: In function 'rxe_mr_do_atomic_write': >>> include/linux/compiler_types.h:358:45: error: call to '__compiletime_assert_870' declared with attribute error: Need native word sized stores/loads for atomicity. Jason, Does this mean that powerpc doesn't support u64 as a native type? Perhaps this is why the Fujitsu folks used CONFIG_64BIT in the atomic write patch which seemed a little strange. Bob > 358 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > | ^ > include/linux/compiler_types.h:339:25: note: in definition of macro '__compiletime_assert' > 339 | prefix ## suffix(); \ > | ^~~~~~ > include/linux/compiler_types.h:358:9: note: in expansion of macro '_compiletime_assert' > 358 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > | ^~~~~~~~~~~~~~~~~~~ > include/linux/compiler_types.h:361:9: note: in expansion of macro 'compiletime_assert' > 361 | compiletime_assert(__native_word(t), \ > | ^~~~~~~~~~~~~~~~~~ > arch/powerpc/include/asm/barrier.h:74:9: note: in expansion of macro 'compiletime_assert_atomic_type' > 74 | compiletime_assert_atomic_type(*p); \ > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release' > 172 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0) > | ^~~~~~~~~~~~~~~~~~~ > drivers/infiniband/sw/rxe/rxe_mr.c:605:9: note: in expansion of macro 'smp_store_release' > 605 | smp_store_release(vaddr, value); > | ^~~~~~~~~~~~~~~~~ > > > vim +/__compiletime_assert_870 +358 include/linux/compiler_types.h > > eb5c2d4b45e3d2 Will Deacon 2020-07-21 344 > eb5c2d4b45e3d2 Will Deacon 2020-07-21 345 #define _compiletime_assert(condition, msg, prefix, suffix) \ > eb5c2d4b45e3d2 Will Deacon 2020-07-21 346 __compiletime_assert(condition, msg, prefix, suffix) > eb5c2d4b45e3d2 Will Deacon 2020-07-21 347 > eb5c2d4b45e3d2 Will Deacon 2020-07-21 348 /** > eb5c2d4b45e3d2 Will Deacon 2020-07-21 349 * compiletime_assert - break build and emit msg if condition is false > eb5c2d4b45e3d2 Will Deacon 2020-07-21 350 * @condition: a compile-time constant condition to check > eb5c2d4b45e3d2 Will Deacon 2020-07-21 351 * @msg: a message to emit if condition is false > eb5c2d4b45e3d2 Will Deacon 2020-07-21 352 * > eb5c2d4b45e3d2 Will Deacon 2020-07-21 353 * In tradition of POSIX assert, this macro will break the build if the > eb5c2d4b45e3d2 Will Deacon 2020-07-21 354 * supplied condition is *false*, emitting the supplied error message if the > eb5c2d4b45e3d2 Will Deacon 2020-07-21 355 * compiler has support to do so. > eb5c2d4b45e3d2 Will Deacon 2020-07-21 356 */ > eb5c2d4b45e3d2 Will Deacon 2020-07-21 357 #define compiletime_assert(condition, msg) \ > eb5c2d4b45e3d2 Will Deacon 2020-07-21 @358 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > eb5c2d4b45e3d2 Will Deacon 2020-07-21 359 >