Re: [PATCH 2/2] tracing/rcu: don't trace rcu_callback on offline CPUs

From: kbuild test robot
Date: Sat Feb 13 2016 - 14:27:46 EST


Hi Denis,

[auto build test ERROR on tip/perf/core]
[also build test ERROR on v4.5-rc3 next-20160212]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url: https://github.com/0day-ci/linux/commits/Denis-Kirjanov/tracing-mm-don-t-trace-kfree-on-offline-CPUs/20160214-022834
config: x86_64-allmodconfig (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All error/warnings (new ones prefixed by >>):

include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
In file included from kernel/rcu/rcu.h:26:0,
from kernel/rcu/update.c:55:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
>> include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/define_trace.h:88:0,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
>> include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:140:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
>> include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:204:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
>> include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:361:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
>> include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:433:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
>> include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:513:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
--
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
In file included from kernel/rcu/rcu.h:26:0,
from kernel/rcu/srcu.c:39:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
>> include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
cc1: some warnings being treated as errors
--
include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
kernel/rcu/tree_plugin.h:1996:17: sparse: undefined identifier 'trace_rcu_callback'
kernel/rcu/tree.c:3109:17: sparse: undefined identifier 'trace_rcu_callback'
In file included from kernel/rcu/rcu.h:26:0,
from kernel/rcu/tree.c:61:
>> include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
>> include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
>> include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
kernel/rcu/tree.c: In function '__call_rcu':
>> kernel/rcu/tree.c:3109:3: error: implicit declaration of function 'trace_rcu_callback' [-Werror=implicit-function-declaration]
trace_rcu_callback(rsp->name, head, rdp->qlen_lazy, rdp->qlen);
^
cc1: some warnings being treated as errors

sparse warnings: (new ones prefixed by >>)

>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
In file included from kernel/rcu/rcu.h:26:0,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/define_trace.h:88:0,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:140:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:204:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:361:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:433:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:513:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:709:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
In file included from include/trace/trace_events.h:772:0,
from include/trace/define_trace.h:95,
from include/trace/events/rcu.h:741,
from kernel/rcu/rcu.h:26,
from kernel/rcu/update.c:55:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
--
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
In file included from kernel/rcu/rcu.h:26:0,
from kernel/rcu/srcu.c:39:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
cc1: some warnings being treated as errors
--
>> include/trace/events/rcu.h:431:1: sparse: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
kernel/rcu/tree_plugin.h:1996:17: sparse: undefined identifier 'trace_rcu_callback'
kernel/rcu/tree.c:3109:17: sparse: undefined identifier 'trace_rcu_callback'
In file included from kernel/rcu/rcu.h:26:0,
from kernel/rcu/tree.c:61:
include/trace/events/rcu.h:459:1: error: macro "TRACE_EVENT" passed 7 arguments, but takes just 6
);
^
include/trace/events/rcu.h:431:1: warning: data definition has no type or storage class
TRACE_EVENT(rcu_callback,
^
include/trace/events/rcu.h:431:1: error: type defaults to 'int' in declaration of 'TRACE_EVENT' [-Werror=implicit-int]
kernel/rcu/tree.c: In function '__call_rcu':
kernel/rcu/tree.c:3109:3: error: implicit declaration of function 'trace_rcu_callback' [-Werror=implicit-function-declaration]
trace_rcu_callback(rsp->name, head, rdp->qlen_lazy, rdp->qlen);
^
cc1: some warnings being treated as errors

vim +/TRACE_EVENT +459 include/trace/events/rcu.h

d4c08f2a Paul E. McKenney 2011-06-25 425 * Tracepoint for the registration of a single RCU callback function.
d4c08f2a Paul E. McKenney 2011-06-25 426 * The first argument is the type of RCU, the second argument is
486e2593 Paul E. McKenney 2012-01-06 427 * a pointer to the RCU callback itself, the third element is the
486e2593 Paul E. McKenney 2012-01-06 428 * number of lazy callbacks queued, and the fourth element is the
486e2593 Paul E. McKenney 2012-01-06 429 * total number of callbacks queued.
d4c08f2a Paul E. McKenney 2011-06-25 430 */
d4c08f2a Paul E. McKenney 2011-06-25 @431 TRACE_EVENT(rcu_callback,
d4c08f2a Paul E. McKenney 2011-06-25 432
e66c33d5 Steven Rostedt (Red Hat 2013-07-12 433) TP_PROTO(const char *rcuname, struct rcu_head *rhp, long qlen_lazy,
486e2593 Paul E. McKenney 2012-01-06 434 long qlen),
d4c08f2a Paul E. McKenney 2011-06-25 435
486e2593 Paul E. McKenney 2012-01-06 436 TP_ARGS(rcuname, rhp, qlen_lazy, qlen),
d4c08f2a Paul E. McKenney 2011-06-25 437
0b6c19e4 Denis Kirjanov 2016-02-13 438 TP_CONDITION(cpu_online(raw_smp_processor_id())),
0b6c19e4 Denis Kirjanov 2016-02-13 439
d4c08f2a Paul E. McKenney 2011-06-25 440 TP_STRUCT__entry(
e66c33d5 Steven Rostedt (Red Hat 2013-07-12 441) __field(const char *, rcuname)
d4c08f2a Paul E. McKenney 2011-06-25 442 __field(void *, rhp)
d4c08f2a Paul E. McKenney 2011-06-25 443 __field(void *, func)
486e2593 Paul E. McKenney 2012-01-06 444 __field(long, qlen_lazy)
d4c08f2a Paul E. McKenney 2011-06-25 445 __field(long, qlen)
d4c08f2a Paul E. McKenney 2011-06-25 446 ),
d4c08f2a Paul E. McKenney 2011-06-25 447
d4c08f2a Paul E. McKenney 2011-06-25 448 TP_fast_assign(
d4c08f2a Paul E. McKenney 2011-06-25 449 __entry->rcuname = rcuname;
d4c08f2a Paul E. McKenney 2011-06-25 450 __entry->rhp = rhp;
d4c08f2a Paul E. McKenney 2011-06-25 451 __entry->func = rhp->func;
486e2593 Paul E. McKenney 2012-01-06 452 __entry->qlen_lazy = qlen_lazy;
d4c08f2a Paul E. McKenney 2011-06-25 453 __entry->qlen = qlen;
d4c08f2a Paul E. McKenney 2011-06-25 454 ),
d4c08f2a Paul E. McKenney 2011-06-25 455
486e2593 Paul E. McKenney 2012-01-06 456 TP_printk("%s rhp=%p func=%pf %ld/%ld",
486e2593 Paul E. McKenney 2012-01-06 457 __entry->rcuname, __entry->rhp, __entry->func,
486e2593 Paul E. McKenney 2012-01-06 458 __entry->qlen_lazy, __entry->qlen)
d4c08f2a Paul E. McKenney 2011-06-25 @459 );
d4c08f2a Paul E. McKenney 2011-06-25 460
d4c08f2a Paul E. McKenney 2011-06-25 461 /*
d4c08f2a Paul E. McKenney 2011-06-25 462 * Tracepoint for the registration of a single RCU callback of the special

:::::: The code at line 459 was first introduced by commit
:::::: d4c08f2ac311a360230eef7e5395b0ec8d8f0670 rcu: Add grace-period, quiescent-state, and call_rcu trace events

:::::: TO: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>
:::::: CC: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data