tree:
https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git rcu-segcb
head: fb866e723f8f64bc4f1e6d19add6a4ff285fcc02
commit: 6c20fe430956a44bc2034f58d55678fb8e8cff19 [3/7] rcu/trace: Add name of the source
for gp_seq
config: x86_64-rhel-7.6 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
git checkout 6c20fe430956a44bc2034f58d55678fb8e8cff19
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/asm-generic/percpu.h:7,
from arch/x86/include/asm/percpu.h:556,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from kernel/rcu/tree.c:23:
kernel/rcu/tree_plugin.h: In function 'rcu_qs':
> include/linux/percpu-defs.h:444:2: warning: passing argument 2 of
'trace_rcu_grace_period' makes pointer from integer without a cast
[-Wint-conversion]
444 | ({ \
| ~^~~~~~~~~~~
| |
| long unsigned int
445 | __this_cpu_preempt_check("read"); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
446 | raw_cpu_read(pcp); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~
447 | })
| ~~
> kernel/rcu/tree_plugin.h:792:11: note: in expansion of macro
'__this_cpu_read'
792 | __this_cpu_read(rcu_data.gp_seq),
TPS("cpuqs"));
| ^~~~~~~~~~~~~~~
In file included from include/linux/trace_events.h:11,
from kernel/rcu/tree.c:47:
include/trace/events/rcu.h:71:44: note: expected 'const char *' but argument is
of type 'long unsigned int'
71 | TP_PROTO(const char *rcuname, const char *gp_seq_src,
| ~~~~~~~~~~~~^~~~~~~~~~
include/linux/tracepoint.h:530:34: note: in definition of macro
'DECLARE_EVENT_NOP'
530 | static inline void trace_##name(proto) \
| ^~~~~
include/linux/tracepoint.h:538:26: note: in expansion of macro 'PARAMS'
538 | DECLARE_EVENT_NOP(name, PARAMS(proto), PARAMS(args))
| ^~~~~~
> include/trace/events/rcu.h:13:25: note: in expansion of macro
'TRACE_EVENT_NOP'
13 | #define TRACE_EVENT_RCU TRACE_EVENT_NOP
| ^~~~~~~~~~~~~~~
> include/trace/events/rcu.h:71:2: note: in expansion of macro
'TP_PROTO'
71 | TP_PROTO(const char *rcuname, const char
*gp_seq_src,
| ^~~~~~~~
> include/linux/tracepoint.h:360:3: warning: passing argument 3 of
'trace_rcu_grace_period' makes integer from pointer without a cast
[-Wint-conversion]
360 | ({ \
| ~^~~~~~~~~~
| |
| const char *
361 | static const char *___tp_str __tracepoint_string = str; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
362 | ___tp_str; \
| ~~~~~~~~~~~~~~~~~
363 | })
| ~~
> kernel/rcu/rcu.h:247:17: note: in expansion of macro
'tracepoint_string'
247 | #define TPS(x) tracepoint_string(x)
| ^~~~~~~~~~~~~~~~~
> kernel/rcu/tree_plugin.h:792:45: note: in expansion of macro
'TPS'
792 | __this_cpu_read(rcu_data.gp_seq),
TPS("cpuqs"));
| ^~~
include/trace/events/rcu.h:72:17: note: expected 'long unsigned int' but
argument is of type 'const char *'
72 | unsigned long gp_seq, const char *gpevent),
| ~~~~~~~~~~~~~~^~~~~~
include/linux/tracepoint.h:530:34: note: in definition of macro
'DECLARE_EVENT_NOP'
530 | static inline void trace_##name(proto) \
| ^~~~~
include/linux/tracepoint.h:538:26: note: in expansion of macro 'PARAMS'
538 | DECLARE_EVENT_NOP(name, PARAMS(proto), PARAMS(args))
| ^~~~~~
> include/trace/events/rcu.h:13:25: note: in expansion of macro
'TRACE_EVENT_NOP'
13 | #define TRACE_EVENT_RCU TRACE_EVENT_NOP
| ^~~~~~~~~~~~~~~
> include/trace/events/rcu.h:71:2: note: in expansion of macro
'TP_PROTO'
71 | TP_PROTO(const char *rcuname, const char
*gp_seq_src,
| ^~~~~~~~
In file included from kernel/rcu/tree.c:4281:
> kernel/rcu/tree_plugin.h:791:2: error: too few arguments to
function 'trace_rcu_grace_period'
791 |
trace_rcu_grace_period(TPS("rcu_sched"),
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/trace_events.h:11,
from kernel/rcu/tree.c:47:
include/linux/tracepoint.h:530:21: note: declared here
530 | static inline void trace_##name(proto) \
| ^~~~~~
> include/linux/tracepoint.h:538:2: note: in expansion of macro
'DECLARE_EVENT_NOP'
538 | DECLARE_EVENT_NOP(name, PARAMS(proto),
PARAMS(args))
| ^~~~~~~~~~~~~~~~~
> include/trace/events/rcu.h:13:25: note: in expansion of macro
'TRACE_EVENT_NOP'
13 | #define TRACE_EVENT_RCU TRACE_EVENT_NOP
| ^~~~~~~~~~~~~~~
> include/trace/events/rcu.h:69:1: note: in expansion of macro
'TRACE_EVENT_RCU'
69 | TRACE_EVENT_RCU(rcu_grace_period,
| ^~~~~~~~~~~~~~~
vim +/trace_rcu_grace_period +791 kernel/rcu/tree_plugin.h
f41d911f8c49a5 kernel/rcutree_plugin.h Paul E. McKenney 2009-08-22 779
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 780 /*
90326f0521a880 kernel/rcu/tree_plugin.h Sebastian Andrzej Siewior 2019-10-15 781 * Note
a quiescent state for PREEMPTION=n. Because we do not need to know
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 782 * how
many quiescent states passed, just if there was at least one since
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 783 * the
start of the grace period, this just sets a flag. The caller must
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 784 * have
disabled preemption.
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 785 */
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 786 static
void rcu_qs(void)
d28139c4e96713 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-06-28 787 {
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 788
RCU_LOCKDEP_WARN(preemptible(), "rcu_qs() invoked with preemption
enabled!!!");
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 789 if
(!__this_cpu_read(rcu_data.cpu_no_qs.s))
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 790
return;
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 @791
trace_rcu_grace_period(TPS("rcu_sched"),
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 @792
__this_cpu_read(rcu_data.gp_seq), TPS("cpuqs"));
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 793
__this_cpu_write(rcu_data.cpu_no_qs.b.norm, false);
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 794 if
(!__this_cpu_read(rcu_data.cpu_no_qs.b.exp))
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 795
return;
45975c7d21a1c0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-02 796
__this_cpu_write(rcu_data.cpu_no_qs.b.exp, false);
63d4c8c97948b0 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-07-03 797
rcu_report_exp_rdp(this_cpu_ptr(&rcu_data));
d28139c4e96713 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-06-28 798 }
d28139c4e96713 kernel/rcu/tree_plugin.h Paul E. McKenney 2018-06-28 799
:::::: The code at line 791 was first introduced by commit
:::::: 45975c7d21a1c0aba97e3d8007e2a7c123145748 rcu: Define RCU-sched API in terms of RCU
for Tree RCU PREEMPT builds
:::::: TO: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
:::::: CC: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org