Lines Matching refs:rhp
807 static void srcu_leak_callback(struct rcu_head *rhp) in srcu_leak_callback() argument
815 struct rcu_head *rhp, bool do_norm) in srcu_gp_start_if_needed() argument
828 if (rhp) in srcu_gp_start_if_needed()
829 rcu_segcblist_enqueue(&sdp->srcu_cblist, rhp); in srcu_gp_start_if_needed()
879 static void __call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp, in __call_srcu() argument
882 if (debug_rcu_head_queue(rhp)) { in __call_srcu()
884 WRITE_ONCE(rhp->func, srcu_leak_callback); in __call_srcu()
888 rhp->func = func; in __call_srcu()
889 (void)srcu_gp_start_if_needed(ssp, rhp, do_norm); in __call_srcu()
909 void call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp, in call_srcu() argument
912 __call_srcu(ssp, rhp, func, true); in call_srcu()
1077 static void srcu_barrier_cb(struct rcu_head *rhp) in srcu_barrier_cb() argument
1082 sdp = container_of(rhp, struct srcu_data, srcu_barrier_head); in srcu_barrier_cb()
1233 struct rcu_head *rhp; in srcu_invoke_callbacks() local
1254 rhp = rcu_cblist_dequeue(&ready_cbs); in srcu_invoke_callbacks()
1255 for (; rhp != NULL; rhp = rcu_cblist_dequeue(&ready_cbs)) { in srcu_invoke_callbacks()
1256 debug_rcu_head_unqueue(rhp); in srcu_invoke_callbacks()
1258 rhp->func(rhp); in srcu_invoke_callbacks()