rcu: Avoid sparse warnings in rcu_nocb_wake trace event
The event-tracing macros do not like bool tracing arguments, so this commit makes them be of type char. This change has the knock-on effect of making it illegal to pass a pointer into one of these arguments, so also change rcutiny's first call to trace_rcu_batch_end() to convert from pointer to boolean, prefixing with "!!". Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
Родитель
69a79bb12a
Коммит
15f5191b6a
|
@ -591,17 +591,17 @@ TRACE_EVENT(rcu_invoke_kfree_callback,
|
||||||
TRACE_EVENT(rcu_batch_end,
|
TRACE_EVENT(rcu_batch_end,
|
||||||
|
|
||||||
TP_PROTO(const char *rcuname, int callbacks_invoked,
|
TP_PROTO(const char *rcuname, int callbacks_invoked,
|
||||||
bool cb, bool nr, bool iit, bool risk),
|
char cb, char nr, char iit, char risk),
|
||||||
|
|
||||||
TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
|
TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(const char *, rcuname)
|
__field(const char *, rcuname)
|
||||||
__field(int, callbacks_invoked)
|
__field(int, callbacks_invoked)
|
||||||
__field(bool, cb)
|
__field(char, cb)
|
||||||
__field(bool, nr)
|
__field(char, nr)
|
||||||
__field(bool, iit)
|
__field(char, iit)
|
||||||
__field(bool, risk)
|
__field(char, risk)
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
|
|
|
@ -273,7 +273,7 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp)
|
||||||
if (&rcp->rcucblist == rcp->donetail) {
|
if (&rcp->rcucblist == rcp->donetail) {
|
||||||
RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, 0, -1));
|
RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, 0, -1));
|
||||||
RCU_TRACE(trace_rcu_batch_end(rcp->name, 0,
|
RCU_TRACE(trace_rcu_batch_end(rcp->name, 0,
|
||||||
ACCESS_ONCE(rcp->rcucblist),
|
!!ACCESS_ONCE(rcp->rcucblist),
|
||||||
need_resched(),
|
need_resched(),
|
||||||
is_idle_task(current),
|
is_idle_task(current),
|
||||||
false));
|
false));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче