Skip to content

Commit 7f4b19e

Browse files
committed
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) <[email protected]> Reviewed-by: Hyeonggon Yoo <[email protected]> Tested-by: Paul E. McKenney <[email protected]> Signed-off-by: Vlastimil Babka <[email protected]>
1 parent b14ff27 commit 7f4b19e

File tree

2 files changed

+2
-41
lines changed

2 files changed

+2
-41
lines changed

include/trace/events/rcu.h

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -560,40 +560,6 @@ TRACE_EVENT_RCU(rcu_segcb_stats,
560560

561561
);
562562

563-
/*
564-
* Tracepoint for the registration of a single RCU callback of the special
565-
* kvfree() form. The first argument is the RCU type, the second argument
566-
* is a pointer to the RCU callback, the third argument is the offset
567-
* of the callback within the enclosing RCU-protected data structure,
568-
* the fourth argument is the number of lazy callbacks queued, and the
569-
* fifth argument is the total number of callbacks queued.
570-
*/
571-
TRACE_EVENT_RCU(rcu_kvfree_callback,
572-
573-
TP_PROTO(const char *rcuname, struct rcu_head *rhp, unsigned long offset,
574-
long qlen),
575-
576-
TP_ARGS(rcuname, rhp, offset, qlen),
577-
578-
TP_STRUCT__entry(
579-
__field(const char *, rcuname)
580-
__field(void *, rhp)
581-
__field(unsigned long, offset)
582-
__field(long, qlen)
583-
),
584-
585-
TP_fast_assign(
586-
__entry->rcuname = rcuname;
587-
__entry->rhp = rhp;
588-
__entry->offset = offset;
589-
__entry->qlen = qlen;
590-
),
591-
592-
TP_printk("%s rhp=%p func=%ld %ld",
593-
__entry->rcuname, __entry->rhp, __entry->offset,
594-
__entry->qlen)
595-
);
596-
597563
/*
598564
* Tracepoint for marking the beginning rcu_do_batch, performed to start
599565
* RCU callback invocation. The first argument is the RCU flavor,

kernel/rcu/tree.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2931,13 +2931,8 @@ static int __init rcu_spawn_core_kthreads(void)
29312931
static void rcutree_enqueue(struct rcu_data *rdp, struct rcu_head *head, rcu_callback_t func)
29322932
{
29332933
rcu_segcblist_enqueue(&rdp->cblist, head);
2934-
if (__is_kvfree_rcu_offset((unsigned long)func))
2935-
trace_rcu_kvfree_callback(rcu_state.name, head,
2936-
(unsigned long)func,
2937-
rcu_segcblist_n_cbs(&rdp->cblist));
2938-
else
2939-
trace_rcu_callback(rcu_state.name, head,
2940-
rcu_segcblist_n_cbs(&rdp->cblist));
2934+
trace_rcu_callback(rcu_state.name, head,
2935+
rcu_segcblist_n_cbs(&rdp->cblist));
29412936
trace_rcu_segcb_stats(&rdp->cblist, TPS("SegCBQueued"));
29422937
}
29432938

0 commit comments

Comments
 (0)