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: riscv-defconfig (attached as .config)
compiler: riscv64-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
git checkout 6c20fe430956a44bc2034f58d55678fb8e8cff19
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from include/asm-generic/percpu.h:7,
from ./arch/riscv/include/generated/asm/percpu.h:1,
from include/asm-generic/mmiowb.h:26,
from arch/riscv/include/asm/mmiowb.h:13,
from include/linux/spinlock.h:60,
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,
| ^~~~~~~~
> kernel/rcu/tree_plugin.h:792:49: warning: passing argument 3 of
'trace_rcu_grace_period' makes integer from pointer without a cast
[-Wint-conversion]
792 | __this_cpu_read(rcu_data.gp_seq),
TPS("cpuqs"));
| ^~~~~~~
| |
| char *
include/linux/tracepoint.h:371:33: note: in definition of macro
'tracepoint_string'
371 | # define tracepoint_string(str) str
| ^~~
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 '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 +792 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 792 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