Lines Matching refs:rhp
1207 static void srcu_leak_callback(struct rcu_head *rhp) in srcu_leak_callback() argument
1215 struct rcu_head *rhp, bool do_norm) in srcu_gp_start_if_needed() argument
1239 if (rhp) in srcu_gp_start_if_needed()
1240 rcu_segcblist_enqueue(&sdp->srcu_cblist, rhp); in srcu_gp_start_if_needed()
1278 if (rhp) { in srcu_gp_start_if_needed()
1342 static void __call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp, in __call_srcu() argument
1345 if (debug_rcu_head_queue(rhp)) { in __call_srcu()
1347 WRITE_ONCE(rhp->func, srcu_leak_callback); in __call_srcu()
1351 rhp->func = func; in __call_srcu()
1352 (void)srcu_gp_start_if_needed(ssp, rhp, do_norm); in __call_srcu()
1372 void call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp, in call_srcu() argument
1375 __call_srcu(ssp, rhp, func, true); in call_srcu()
1561 static void srcu_barrier_cb(struct rcu_head *rhp) in srcu_barrier_cb() argument
1566 rhp->next = rhp; // Mark the callback as having been invoked. in srcu_barrier_cb()
1567 sdp = container_of(rhp, struct srcu_data, srcu_barrier_head); in srcu_barrier_cb()
1729 struct rcu_head *rhp; in srcu_invoke_callbacks() local
1757 rhp = rcu_cblist_dequeue(&ready_cbs); in srcu_invoke_callbacks()
1758 for (; rhp != NULL; rhp = rcu_cblist_dequeue(&ready_cbs)) { in srcu_invoke_callbacks()
1759 debug_rcu_head_unqueue(rhp); in srcu_invoke_callbacks()
1760 debug_rcu_head_callback(rhp); in srcu_invoke_callbacks()
1762 rhp->func(rhp); in srcu_invoke_callbacks()