lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202003050249.qz9t2Xfp%lkp@intel.com>
Date:   Thu, 5 Mar 2020 02:08:52 +0800
From:   kbuild test robot <lkp@...el.com>
To:     "Paul E. McKenney" <paulmck@...nel.org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [rcu:dev.2020.02.29a 43/43] kernel/rcu/tasks.h:212:2: note: in
 expansion of macro 'if'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2020.02.29a
head:   61f7110d6b78f4c84ea5d5480185740840889af7
commit: 61f7110d6b78f4c84ea5d5480185740840889af7 [43/43] rcu-tasks: Add an RCU-tasks rude variant
config: riscv-randconfig-a001-20200304 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 61f7110d6b78f4c84ea5d5480185740840889af7
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=riscv 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   In file included from include/linux/kernel.h:11:0,
                    from kernel/rcu/update.c:21:
   kernel/rcu/tasks.h: In function 'check_holdout_task':
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:213:7: error: 'struct task_struct' has no member named 'rcu_tasks_nvcsw'
         t->rcu_tasks_nvcsw != READ_ONCE(t->nvcsw) ||
          ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   kernel/rcu/tasks.h:216:28: error: 'struct task_struct' has no member named 'rcu_tasks_idle_cpu'
          !is_idle_task(t) && t->rcu_tasks_idle_cpu >= 0)) {
                               ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:213:7: error: 'struct task_struct' has no member named 'rcu_tasks_nvcsw'
         t->rcu_tasks_nvcsw != READ_ONCE(t->nvcsw) ||
          ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   kernel/rcu/tasks.h:216:28: error: 'struct task_struct' has no member named 'rcu_tasks_idle_cpu'
          !is_idle_task(t) && t->rcu_tasks_idle_cpu >= 0)) {
                               ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:212:18: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
                     ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   include/linux/compiler.h:293:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   kernel/rcu/tasks.h:212:7: note: in expansion of macro 'READ_ONCE'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
          ^~~~~~~~~
   kernel/rcu/tasks.h:213:7: error: 'struct task_struct' has no member named 'rcu_tasks_nvcsw'
         t->rcu_tasks_nvcsw != READ_ONCE(t->nvcsw) ||
          ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   kernel/rcu/tasks.h:216:28: error: 'struct task_struct' has no member named 'rcu_tasks_idle_cpu'
          !is_idle_task(t) && t->rcu_tasks_idle_cpu >= 0)) {
                               ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
   kernel/rcu/tasks.h:212:2: note: in expansion of macro 'if'
     if (!READ_ONCE(t->rcu_tasks_holdout) ||
     ^~
   In file included from include/linux/kernel.h:11:0,
                    from kernel/rcu/update.c:21:
   kernel/rcu/tasks.h:217:15: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
      WRITE_ONCE(t->rcu_tasks_holdout, false);
                  ^
   include/linux/compiler.h:310:17: note: in definition of macro 'WRITE_ONCE'
     union { typeof(x) __val; char __c[1]; } __u = \
                    ^
   kernel/rcu/tasks.h:217:15: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
      WRITE_ONCE(t->rcu_tasks_holdout, false);
                  ^
   include/linux/compiler.h:311:30: note: in definition of macro 'WRITE_ONCE'
      { .__val = (__force typeof(x)) (val) }; \
                                 ^
   kernel/rcu/tasks.h:217:15: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
      WRITE_ONCE(t->rcu_tasks_holdout, false);
                  ^
   include/linux/compiler.h:312:22: note: in definition of macro 'WRITE_ONCE'
     __write_once_size(&(x), __u.__c, sizeof(x)); \
                         ^
   kernel/rcu/tasks.h:217:15: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
      WRITE_ONCE(t->rcu_tasks_holdout, false);
                  ^
   include/linux/compiler.h:312:42: note: in definition of macro 'WRITE_ONCE'
     __write_once_size(&(x), __u.__c, sizeof(x)); \
                                             ^
   In file included from kernel/rcu/update.c:562:0:
   kernel/rcu/tasks.h:218:19: error: 'struct task_struct' has no member named 'rcu_tasks_holdout_list'
      list_del_init(&t->rcu_tasks_holdout_list);
                      ^~
   In file included from include/linux/kernel.h:15:0,
                    from kernel/rcu/update.c:21:
   kernel/rcu/tasks.h:233:5: error: 'struct task_struct' has no member named 'rcu_tasks_nvcsw'
       t->rcu_tasks_nvcsw, t->nvcsw, t->rcu_tasks_holdout,
        ^
   include/linux/printk.h:300:35: note: in definition of macro 'pr_alert'
     printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
                                      ^~~~~~~~~~~
   kernel/rcu/tasks.h:233:35: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
       t->rcu_tasks_nvcsw, t->nvcsw, t->rcu_tasks_holdout,
                                      ^
   include/linux/printk.h:300:35: note: in definition of macro 'pr_alert'
     printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
                                      ^~~~~~~~~~~
   kernel/rcu/tasks.h:234:5: error: 'struct task_struct' has no member named 'rcu_tasks_idle_cpu'
       t->rcu_tasks_idle_cpu, cpu);
        ^
   include/linux/printk.h:300:35: note: in definition of macro 'pr_alert'
     printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
                                      ^~~~~~~~~~~
   In file included from kernel/rcu/update.c:562:0:
   kernel/rcu/tasks.h: At top level:
   kernel/rcu/tasks.h:239:38: warning: 'struct rcu_tasks' declared inside parameter list will not be visible outside of this definition or declaration
    static void rcu_tasks_wait_gp(struct rcu_tasks *rtp)
                                         ^~~~~~~~~
   kernel/rcu/tasks.h: In function 'rcu_tasks_wait_gp':
   kernel/rcu/tasks.h:271:5: error: 'struct task_struct' has no member named 'rcu_tasks_nvcsw'
       t->rcu_tasks_nvcsw = READ_ONCE(t->nvcsw);
        ^~
   In file included from include/linux/kernel.h:11:0,
                    from kernel/rcu/update.c:21:
   kernel/rcu/tasks.h:272:16: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
       WRITE_ONCE(t->rcu_tasks_holdout, true);
                   ^
   include/linux/compiler.h:310:17: note: in definition of macro 'WRITE_ONCE'
     union { typeof(x) __val; char __c[1]; } __u = \
                    ^
   kernel/rcu/tasks.h:272:16: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
       WRITE_ONCE(t->rcu_tasks_holdout, true);
                   ^
   include/linux/compiler.h:311:30: note: in definition of macro 'WRITE_ONCE'
      { .__val = (__force typeof(x)) (val) }; \
                                 ^
   kernel/rcu/tasks.h:272:16: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
       WRITE_ONCE(t->rcu_tasks_holdout, true);
                   ^
   include/linux/compiler.h:312:22: note: in definition of macro 'WRITE_ONCE'
     __write_once_size(&(x), __u.__c, sizeof(x)); \
                         ^
   kernel/rcu/tasks.h:272:16: error: 'struct task_struct' has no member named 'rcu_tasks_holdout'
       WRITE_ONCE(t->rcu_tasks_holdout, true);
                   ^
   include/linux/compiler.h:312:42: note: in definition of macro 'WRITE_ONCE'
     __write_once_size(&(x), __u.__c, sizeof(x)); \
                                             ^
   In file included from kernel/rcu/update.c:562:0:

vim +/if +212 kernel/rcu/tasks.h

6b80543d90000c Paul E. McKenney 2020-03-02  205  
6b80543d90000c Paul E. McKenney 2020-03-02  206  /* See if tasks are still holding out, complain if so. */
6b80543d90000c Paul E. McKenney 2020-03-02  207  static void check_holdout_task(struct task_struct *t,
6b80543d90000c Paul E. McKenney 2020-03-02  208  			       bool needreport, bool *firstreport)
6b80543d90000c Paul E. McKenney 2020-03-02  209  {
6b80543d90000c Paul E. McKenney 2020-03-02  210  	int cpu;
6b80543d90000c Paul E. McKenney 2020-03-02  211  
6b80543d90000c Paul E. McKenney 2020-03-02 @212  	if (!READ_ONCE(t->rcu_tasks_holdout) ||
6b80543d90000c Paul E. McKenney 2020-03-02  213  	    t->rcu_tasks_nvcsw != READ_ONCE(t->nvcsw) ||
6b80543d90000c Paul E. McKenney 2020-03-02  214  	    !READ_ONCE(t->on_rq) ||
6b80543d90000c Paul E. McKenney 2020-03-02  215  	    (IS_ENABLED(CONFIG_NO_HZ_FULL) &&
6b80543d90000c Paul E. McKenney 2020-03-02  216  	     !is_idle_task(t) && t->rcu_tasks_idle_cpu >= 0)) {
6b80543d90000c Paul E. McKenney 2020-03-02  217  		WRITE_ONCE(t->rcu_tasks_holdout, false);
6b80543d90000c Paul E. McKenney 2020-03-02  218  		list_del_init(&t->rcu_tasks_holdout_list);
6b80543d90000c Paul E. McKenney 2020-03-02  219  		put_task_struct(t);
6b80543d90000c Paul E. McKenney 2020-03-02  220  		return;
6b80543d90000c Paul E. McKenney 2020-03-02  221  	}
6b80543d90000c Paul E. McKenney 2020-03-02  222  	rcu_request_urgent_qs_task(t);
6b80543d90000c Paul E. McKenney 2020-03-02  223  	if (!needreport)
6b80543d90000c Paul E. McKenney 2020-03-02  224  		return;
6b80543d90000c Paul E. McKenney 2020-03-02  225  	if (*firstreport) {
6b80543d90000c Paul E. McKenney 2020-03-02  226  		pr_err("INFO: rcu_tasks detected stalls on tasks:\n");
6b80543d90000c Paul E. McKenney 2020-03-02  227  		*firstreport = false;
6b80543d90000c Paul E. McKenney 2020-03-02  228  	}
6b80543d90000c Paul E. McKenney 2020-03-02  229  	cpu = task_cpu(t);
6b80543d90000c Paul E. McKenney 2020-03-02  230  	pr_alert("%p: %c%c nvcsw: %lu/%lu holdout: %d idle_cpu: %d/%d\n",
6b80543d90000c Paul E. McKenney 2020-03-02  231  		 t, ".I"[is_idle_task(t)],
6b80543d90000c Paul E. McKenney 2020-03-02  232  		 "N."[cpu < 0 || !tick_nohz_full_cpu(cpu)],
6b80543d90000c Paul E. McKenney 2020-03-02  233  		 t->rcu_tasks_nvcsw, t->nvcsw, t->rcu_tasks_holdout,
6b80543d90000c Paul E. McKenney 2020-03-02  234  		 t->rcu_tasks_idle_cpu, cpu);
6b80543d90000c Paul E. McKenney 2020-03-02  235  	sched_show_task(t);
6b80543d90000c Paul E. McKenney 2020-03-02  236  }
6b80543d90000c Paul E. McKenney 2020-03-02  237  

:::::: The code at line 212 was first introduced by commit
:::::: 6b80543d90000c684123b05f075ac1433d99fa85 tasks-rcu: Move Tasks RCU to its own file

:::::: TO: Paul E. McKenney <paulmck@...nel.org>
:::::: CC: Paul E. McKenney <paulmck@...nel.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (27666 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ