mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 06:49:52 +00:00
rcu: remove trace_rcu_kvfree_callback
Tree RCU does not handle kvfree_rcu() by queueing individual objects by call_rcu() anymore, thus the tracepoint and associated __is_kvfree_rcu_offset() check is dead code now. Remove it. Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Tested-by: Paul E. McKenney <paulmck@kernel.org> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
This commit is contained in:
parent
b14ff274e8
commit
7f4b19ef31
@ -560,40 +560,6 @@ TRACE_EVENT_RCU(rcu_segcb_stats,
|
|||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
|
||||||
* Tracepoint for the registration of a single RCU callback of the special
|
|
||||||
* kvfree() form. The first argument is the RCU type, the second argument
|
|
||||||
* is a pointer to the RCU callback, the third argument is the offset
|
|
||||||
* of the callback within the enclosing RCU-protected data structure,
|
|
||||||
* the fourth argument is the number of lazy callbacks queued, and the
|
|
||||||
* fifth argument is the total number of callbacks queued.
|
|
||||||
*/
|
|
||||||
TRACE_EVENT_RCU(rcu_kvfree_callback,
|
|
||||||
|
|
||||||
TP_PROTO(const char *rcuname, struct rcu_head *rhp, unsigned long offset,
|
|
||||||
long qlen),
|
|
||||||
|
|
||||||
TP_ARGS(rcuname, rhp, offset, qlen),
|
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
|
||||||
__field(const char *, rcuname)
|
|
||||||
__field(void *, rhp)
|
|
||||||
__field(unsigned long, offset)
|
|
||||||
__field(long, qlen)
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
|
||||||
__entry->rcuname = rcuname;
|
|
||||||
__entry->rhp = rhp;
|
|
||||||
__entry->offset = offset;
|
|
||||||
__entry->qlen = qlen;
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_printk("%s rhp=%p func=%ld %ld",
|
|
||||||
__entry->rcuname, __entry->rhp, __entry->offset,
|
|
||||||
__entry->qlen)
|
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tracepoint for marking the beginning rcu_do_batch, performed to start
|
* Tracepoint for marking the beginning rcu_do_batch, performed to start
|
||||||
* RCU callback invocation. The first argument is the RCU flavor,
|
* RCU callback invocation. The first argument is the RCU flavor,
|
||||||
|
@ -2931,13 +2931,8 @@ static int __init rcu_spawn_core_kthreads(void)
|
|||||||
static void rcutree_enqueue(struct rcu_data *rdp, struct rcu_head *head, rcu_callback_t func)
|
static void rcutree_enqueue(struct rcu_data *rdp, struct rcu_head *head, rcu_callback_t func)
|
||||||
{
|
{
|
||||||
rcu_segcblist_enqueue(&rdp->cblist, head);
|
rcu_segcblist_enqueue(&rdp->cblist, head);
|
||||||
if (__is_kvfree_rcu_offset((unsigned long)func))
|
trace_rcu_callback(rcu_state.name, head,
|
||||||
trace_rcu_kvfree_callback(rcu_state.name, head,
|
rcu_segcblist_n_cbs(&rdp->cblist));
|
||||||
(unsigned long)func,
|
|
||||||
rcu_segcblist_n_cbs(&rdp->cblist));
|
|
||||||
else
|
|
||||||
trace_rcu_callback(rcu_state.name, head,
|
|
||||||
rcu_segcblist_n_cbs(&rdp->cblist));
|
|
||||||
trace_rcu_segcb_stats(&rdp->cblist, TPS("SegCBQueued"));
|
trace_rcu_segcb_stats(&rdp->cblist, TPS("SegCBQueued"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user