lkml.org 
[lkml]   [2021]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] HACK: disable instrumentation of xchg/cmpxchg
    Hi Mark,

    I love your patch! Yet something to improve:

    [auto build test ERROR on linux/master]
    [also build test ERROR on linus/master next-20210701]
    [cannot apply to asm-generic/master sparc-next/master v5.13]
    [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/Mark-Rutland/HACK-disable-instrumentation-of-xchg-cmpxchg/20210706-035817
    base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git c54b245d011855ea91c5beff07f1db74143ce614
    config: xtensa-randconfig-r035-20210705 (attached as .config)
    compiler: xtensa-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
    # https://github.com/0day-ci/linux/commit/077d46116045ef95775b35f74f003921cb21c955
    git remote add linux-review https://github.com/0day-ci/linux
    git fetch --no-tags linux-review Mark-Rutland/HACK-disable-instrumentation-of-xchg-cmpxchg/20210706-035817
    git checkout 077d46116045ef95775b35f74f003921cb21c955
    # save the attached .config to linux build tree
    COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa

    If you fix the issue, kindly add following tag as appropriate
    Reported-by: kernel test robot <lkp@intel.com>

    All errors (new ones prefixed by >>):

    In file included from include/linux/init.h:5,
    from lib/atomic64_test.c:10:
    lib/atomic64_test.c: In function 'test_atomic':
    >> lib/atomic64_test.c:75:9: error: implicit declaration of function 'atomic_arch_xchg'; did you mean 'atomic_long_xchg'? [-Werror=implicit-function-declaration]
    75 | BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    | ^~~~~~
    include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
    | ^~~~
    include/asm-generic/bug.h:183:32: note: in expansion of macro 'if'
    183 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
    | ^~
    include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
    | ^~~~~~~~~~~~~~~~
    include/asm-generic/bug.h:183:36: note: in expansion of macro 'unlikely'
    183 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
    | ^~~~~~~~
    lib/atomic64_test.c:75:2: note: in expansion of macro 'BUG_ON'
    75 | BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    | ^~~~~~
    lib/atomic64_test.c:38:2: note: in expansion of macro 'TEST_ARGS'
    38 | test(bit, op, ##args); \
    | ^~~~
    lib/atomic64_test.c:81:2: note: in expansion of macro 'FAMILY_TEST'
    81 | FAMILY_TEST(TEST_ARGS, bit, xchg, init, init, new, new); \
    | ^~~~~~~~~~~
    lib/atomic64_test.c:141:2: note: in expansion of macro 'XCHG_FAMILY_TEST'
    141 | XCHG_FAMILY_TEST(, v0, v1);
    | ^~~~~~~~~~~~~~~~
    >> lib/atomic64_test.c:75:9: error: implicit declaration of function 'atomic_arch_cmpxchg'; did you mean 'atomic_try_cmpxchg'? [-Werror=implicit-function-declaration]
    75 | BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    | ^~~~~~
    include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
    | ^~~~
    include/asm-generic/bug.h:183:32: note: in expansion of macro 'if'
    183 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
    | ^~
    include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
    | ^~~~~~~~~~~~~~~~
    include/asm-generic/bug.h:183:36: note: in expansion of macro 'unlikely'
    183 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
    | ^~~~~~~~
    lib/atomic64_test.c:75:2: note: in expansion of macro 'BUG_ON'
    75 | BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    | ^~~~~~
    lib/atomic64_test.c:38:2: note: in expansion of macro 'TEST_ARGS'
    38 | test(bit, op, ##args); \
    | ^~~~
    lib/atomic64_test.c:86:2: note: in expansion of macro 'FAMILY_TEST'
    86 | FAMILY_TEST(TEST_ARGS, bit, cmpxchg, \
    | ^~~~~~~~~~~
    lib/atomic64_test.c:142:2: note: in expansion of macro 'CMPXCHG_FAMILY_TEST'
    142 | CMPXCHG_FAMILY_TEST(, v0, v1, onestwos);
    | ^~~~~~~~~~~~~~~~~~~
    lib/atomic64_test.c: In function 'test_atomic64':
    >> lib/atomic64_test.c:75:9: error: implicit declaration of function 'atomic64_arch_xchg'; did you mean 'atomic64_cmpxchg'? [-Werror=implicit-function-declaration]
    75 | BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    | ^~~~~~
    include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
    | ^~~~
    include/asm-generic/bug.h:183:32: note: in expansion of macro 'if'
    183 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
    | ^~
    include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
    | ^~~~~~~~~~~~~~~~
    include/asm-generic/bug.h:183:36: note: in expansion of macro 'unlikely'
    183 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
    | ^~~~~~~~
    lib/atomic64_test.c:75:2: note: in expansion of macro 'BUG_ON'
    75 | BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    | ^~~~~~
    lib/atomic64_test.c:38:2: note: in expansion of macro 'TEST_ARGS'
    38 | test(bit, op, ##args); \
    | ^~~~
    lib/atomic64_test.c:81:2: note: in expansion of macro 'FAMILY_TEST'
    81 | FAMILY_TEST(TEST_ARGS, bit, xchg, init, init, new, new); \
    | ^~~~~~~~~~~
    lib/atomic64_test.c:203:2: note: in expansion of macro 'XCHG_FAMILY_TEST'
    203 | XCHG_FAMILY_TEST(64, v0, v1);
    | ^~~~~~~~~~~~~~~~
    >> lib/atomic64_test.c:75:9: error: implicit declaration of function 'atomic64_arch_cmpxchg'; did you mean 'atomic64_try_cmpxchg'? [-Werror=implicit-function-declaration]
    75 | BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    | ^~~~~~
    include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
    | ^~~~
    include/asm-generic/bug.h:183:32: note: in expansion of macro 'if'
    183 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
    | ^~
    include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
    | ^~~~~~~~~~~~~~~~
    include/asm-generic/bug.h:183:36: note: in expansion of macro 'unlikely'
    183 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
    | ^~~~~~~~
    lib/atomic64_test.c:75:2: note: in expansion of macro 'BUG_ON'
    75 | BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    | ^~~~~~
    lib/atomic64_test.c:38:2: note: in expansion of macro 'TEST_ARGS'
    38 | test(bit, op, ##args); \
    | ^~~~
    lib/atomic64_test.c:86:2: note: in expansion of macro 'FAMILY_TEST'
    86 | FAMILY_TEST(TEST_ARGS, bit, cmpxchg, \
    | ^~~~~~~~~~~
    lib/atomic64_test.c:204:2: note: in expansion of macro 'CMPXCHG_FAMILY_TEST'
    204 | CMPXCHG_FAMILY_TEST(64, v0, v1, v2);
    | ^~~~~~~~~~~~~~~~~~~
    cc1: some warnings being treated as errors


    vim +75 lib/atomic64_test.c

    28aa2bda2211f4 Peter Zijlstra 2016-04-18 71
    978e5a3692c3b6 Boqun Feng 2015-11-04 72 #define TEST_ARGS(bit, op, init, ret, expect, args...) \
    978e5a3692c3b6 Boqun Feng 2015-11-04 73 do { \
    978e5a3692c3b6 Boqun Feng 2015-11-04 74 atomic##bit##_set(&v, init); \
    978e5a3692c3b6 Boqun Feng 2015-11-04 @75 BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
    978e5a3692c3b6 Boqun Feng 2015-11-04 76 BUG_ON(atomic##bit##_read(&v) != expect); \
    978e5a3692c3b6 Boqun Feng 2015-11-04 77 } while (0)
    978e5a3692c3b6 Boqun Feng 2015-11-04 78

    ---
    0-DAY CI Kernel Test Service, Intel Corporation
    https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
    [unhandled content-type:application/gzip]
    \
     
     \ /
      Last update: 2021-07-06 01:19    [W:3.573 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site