Lines Matching refs:rhp
1256 static void srcu_leak_callback(struct rcu_head *rhp) in srcu_leak_callback() argument
1264 struct rcu_head *rhp, bool do_norm) in srcu_gp_start_if_needed() argument
1288 if (rhp) in srcu_gp_start_if_needed()
1289 rcu_segcblist_enqueue(&sdp->srcu_cblist, rhp); in srcu_gp_start_if_needed()
1327 if (rhp) { in srcu_gp_start_if_needed()
1391 static void __call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp, in __call_srcu() argument
1394 if (debug_rcu_head_queue(rhp)) { in __call_srcu()
1396 WRITE_ONCE(rhp->func, srcu_leak_callback); in __call_srcu()
1400 rhp->func = func; in __call_srcu()
1401 (void)srcu_gp_start_if_needed(ssp, rhp, do_norm); in __call_srcu()
1425 void call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp, in call_srcu() argument
1428 __call_srcu(ssp, rhp, func, true); in call_srcu()
1616 static void srcu_barrier_cb(struct rcu_head *rhp) in srcu_barrier_cb() argument
1621 rhp->next = rhp; // Mark the callback as having been invoked. in srcu_barrier_cb()
1622 sdp = container_of(rhp, struct srcu_data, srcu_barrier_head); in srcu_barrier_cb()
1784 struct rcu_head *rhp; in srcu_invoke_callbacks() local
1812 rhp = rcu_cblist_dequeue(&ready_cbs); in srcu_invoke_callbacks()
1813 for (; rhp != NULL; rhp = rcu_cblist_dequeue(&ready_cbs)) { in srcu_invoke_callbacks()
1814 debug_rcu_head_unqueue(rhp); in srcu_invoke_callbacks()
1815 debug_rcu_head_callback(rhp); in srcu_invoke_callbacks()
1817 rhp->func(rhp); in srcu_invoke_callbacks()