Home
last modified time | relevance | path

Searched refs:rhp (Results 1 – 25 of 29) sorted by relevance

12

/linux/include/trace/events/
H A Drcu.h514 TP_PROTO(const char *rcuname, struct rcu_head *rhp, long qlen),
516 TP_ARGS(rcuname, rhp, qlen),
520 __field(void *, rhp)
527 __entry->rhp = rhp;
528 __entry->func = rhp->func;
533 __entry->rcuname, __entry->rhp, __entry->func,
600 TP_PROTO(const char *rcuname, struct rcu_head *rhp),
602 TP_ARGS(rcuname, rhp),
606 __field(void *, rhp)
612 __entry->rhp = rhp;
[all …]
/linux/kernel/rcu/
H A Drcu_segcblist.c29 void rcu_cblist_enqueue(struct rcu_cblist *rclp, struct rcu_head *rhp) in rcu_cblist_enqueue() argument
31 *rclp->tail = rhp; in rcu_cblist_enqueue()
32 rclp->tail = &rhp->next; in rcu_cblist_enqueue()
46 struct rcu_head *rhp) in rcu_cblist_flush_enqueue() argument
54 if (!rhp) { in rcu_cblist_flush_enqueue()
57 rhp->next = NULL; in rcu_cblist_flush_enqueue()
58 srclp->head = rhp; in rcu_cblist_flush_enqueue()
59 srclp->tail = &rhp->next; in rcu_cblist_flush_enqueue()
70 struct rcu_head *rhp; in rcu_cblist_dequeue() local
72 rhp = rclp->head; in rcu_cblist_dequeue()
[all …]
H A Dsrcutiny.c126 struct rcu_head *rhp; in srcu_drive_gp() local
160 rhp = lh; in srcu_drive_gp()
162 debug_rcu_head_callback(rhp); in srcu_drive_gp()
164 rhp->func(rhp); in srcu_drive_gp()
219 void call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp, in call_srcu() argument
224 rhp->func = func; in call_srcu()
225 rhp->next = NULL; in call_srcu()
228 *ssp->srcu_cb_tail = rhp; in call_srcu()
229 ssp->srcu_cb_tail = &rhp->next; in call_srcu()
H A Drcu.h270 static inline void debug_rcu_head_callback(struct rcu_head *rhp) in debug_rcu_head_callback() argument
272 if (unlikely(!rhp->func)) in debug_rcu_head_callback()
273 kmem_dump_obj(rhp); in debug_rcu_head_callback()
276 static inline bool rcu_barrier_cb_is_done(struct rcu_head *rhp) in rcu_barrier_cb_is_done() argument
278 return rhp->next == rhp; in rcu_barrier_cb_is_done()
596 struct rcu_head *rhp,
611 struct rcu_head *rhp,
616 #define do_trace_rcu_torture_read(rcutorturename, rhp, secs, c_old, c) \ argument
H A Dtasks.h340 static void call_rcu_tasks_generic(struct rcu_head *rhp, rcu_callback_t func, in call_rcu_tasks_generic() argument
352 rhp->next = NULL; in call_rcu_tasks_generic()
353 rhp->func = func; in call_rcu_tasks_generic()
385 rcu_segcblist_enqueue(&rtpcp->cblist, rhp); in call_rcu_tasks_generic()
408 static void rcu_barrier_tasks_generic_cb(struct rcu_head *rhp) in rcu_barrier_tasks_generic_cb() argument
413 rhp->next = rhp; // Mark the callback as having been invoked. in rcu_barrier_tasks_generic_cb()
414 rtpcp = container_of(rhp, struct rcu_tasks_percpu, barrier_q_head); in rcu_barrier_tasks_generic_cb()
546 struct rcu_head *rhp; in rcu_tasks_invoke_cbs() local
574 for (rhp = rcu_cblist_dequeue(&rcl); rhp; rhp = rcu_cblist_dequeue(&rcl)) { in rcu_tasks_invoke_cbs()
575 debug_rcu_head_callback(rhp); in rcu_tasks_invoke_cbs()
[all …]
H A Drcu_segcblist.h24 void rcu_cblist_enqueue(struct rcu_cblist *rclp, struct rcu_head *rhp);
27 struct rcu_head *rhp);
129 struct rcu_head *rhp);
131 struct rcu_head *rhp);
H A Dsrcutree.c1277 static void srcu_leak_callback(struct rcu_head *rhp) in srcu_leak_callback() argument
1285 struct rcu_head *rhp, bool do_norm) in srcu_gp_start_if_needed() argument
1311 if (rhp) in srcu_gp_start_if_needed()
1312 rcu_segcblist_enqueue(&sdp->srcu_cblist, rhp); in srcu_gp_start_if_needed()
1350 if (rhp) { in srcu_gp_start_if_needed()
1414 static void __call_srcu(struct srcu_struct *ssp, struct rcu_head *rhp, in __call_srcu() argument
1417 if (debug_rcu_head_queue(rhp)) { in __call_srcu()
1419 WRITE_ONCE(rhp->func, srcu_leak_callback); in __call_srcu()
1423 rhp->func = func; in __call_srcu()
1424 (void)srcu_gp_start_if_needed(ssp, rhp, do_norm); in __call_srcu()
[all …]
H A Drcutorture.c2089 static void rcu_torture_timer_cb(struct rcu_head *rhp) in rcu_torture_timer_cb() argument
2091 kfree(rhp); in rcu_torture_timer_cb()
2678 struct rcu_head *rhp = kmalloc_obj(*rhp, GFP_NOWAIT); in rcu_torture_timer() local
2680 if (rhp) in rcu_torture_timer()
2681 cur_ops->call(rhp, rcu_torture_timer_cb); in rcu_torture_timer()
2713 struct rcu_head *rhp = kmalloc_obj(*rhp, GFP_NOWAIT); in rcu_torture_irq() local
2715 if (rhp) in rcu_torture_irq()
2716 cur_ops->call(rhp, rcu_torture_timer_cb); in rcu_torture_irq()
3134 struct rcu_head *rhp; in rcu_torture_mem_dump_obj() local
3141 rhp = kmem_cache_alloc(kcp, GFP_KERNEL); in rcu_torture_mem_dump_obj()
[all …]
H A Dsync.c27 static void rcu_sync_func(struct rcu_head *rhp);
57 static void rcu_sync_func(struct rcu_head *rhp) in rcu_sync_func() argument
59 struct rcu_sync *rsp = container_of(rhp, struct rcu_sync, cb_head); in rcu_sync_func()
H A Dtree_nocb.h372 struct rcu_head *rhp = rhp_in; in rcu_nocb_do_flush_bypass() local
377 if (rhp && !rcu_cblist_n_cbs(&rdp->nocb_bypass)) { in rcu_nocb_do_flush_bypass()
382 if (rhp) in rcu_nocb_do_flush_bypass()
391 if (lazy && rhp) { in rcu_nocb_do_flush_bypass()
392 rcu_cblist_enqueue(&rdp->nocb_bypass, rhp); in rcu_nocb_do_flush_bypass()
393 rhp = NULL; in rcu_nocb_do_flush_bypass()
395 rcu_cblist_flush_enqueue(&rcl, &rdp->nocb_bypass, rhp); in rcu_nocb_do_flush_bypass()
412 static bool rcu_nocb_flush_bypass(struct rcu_data *rdp, struct rcu_head *rhp, in rcu_nocb_flush_bypass() argument
419 return rcu_nocb_do_flush_bypass(rdp, rhp, j, lazy); in rcu_nocb_flush_bypass()
485 static bool rcu_nocb_try_bypass(struct rcu_data *rdp, struct rcu_head *rhp, in rcu_nocb_try_bypass() argument
[all …]
H A Dtree.c2584 struct rcu_head *rhp; in rcu_do_batch() local
2636 rhp = rcu_cblist_dequeue(&rcl); in rcu_do_batch()
2638 for (; rhp; rhp = rcu_cblist_dequeue(&rcl)) { in rcu_do_batch()
2642 debug_rcu_head_unqueue(rhp); in rcu_do_batch()
2645 trace_rcu_invoke_callback(rcu_state.name, rhp); in rcu_do_batch()
2647 f = rhp->func; in rcu_do_batch()
2648 debug_rcu_head_callback(rhp); in rcu_do_batch()
2649 WRITE_ONCE(rhp->func, (rcu_callback_t)0L); in rcu_do_batch()
2650 f(rhp); in rcu_do_batch()
3105 static void rcu_leak_callback(struct rcu_head *rhp) in rcu_leak_callback() argument
[all …]
H A Dtree.h508 static bool rcu_nocb_flush_bypass(struct rcu_data *rdp, struct rcu_head *rhp,
H A Drcuscale.c537 static void rcu_scale_async_cb(struct rcu_head *rhp) in rcu_scale_async_cb() argument
539 struct writer_mblock *wmbp = container_of(rhp, struct writer_mblock, wmb_rh); in rcu_scale_async_cb()
/linux/include/linux/
H A Drcupdate_trace.h157 static inline void call_rcu_tasks_trace(struct rcu_head *rhp, rcu_callback_t func) in call_rcu_tasks_trace() argument
159 call_srcu(&rcu_tasks_trace_srcu_struct, rhp, func); in call_rcu_tasks_trace()
220 static inline void call_rcu_tasks_trace(struct rcu_head *rhp, rcu_callback_t func) { BUG(); } in call_rcu_tasks_trace() argument
H A Drcupdate.h1183 static inline void rcu_head_init(struct rcu_head *rhp) in rcu_head_init() argument
1185 rhp->func = (rcu_callback_t)~0L; in rcu_head_init()
1202 rcu_head_after_call_rcu(struct rcu_head *rhp, rcu_callback_t f) in rcu_head_after_call_rcu() argument
1204 rcu_callback_t func = READ_ONCE(rhp->func); in rcu_head_after_call_rcu()
/linux/drivers/media/usb/pvrusb2/
H A Dpvrusb2-v4l2.c40 struct pvr2_ioread *rhp; member
894 if (fhp->rhp) { in pvr2_v4l2_release()
897 sp = pvr2_ioread_get_stream(fhp->rhp); in pvr2_v4l2_release()
899 pvr2_ioread_destroy(fhp->rhp); in pvr2_v4l2_release()
900 fhp->rhp = NULL; in pvr2_v4l2_release()
1025 if (fh->rhp) return 0; in pvr2_v4l2_iosetup()
1041 fh->rhp = pvr2_channel_create_mpeg_stream(fh->pdi->stream); in pvr2_v4l2_iosetup()
1042 if (!fh->rhp) { in pvr2_v4l2_iosetup()
1052 return pvr2_ioread_set_enabled(fh->rhp,!0); in pvr2_v4l2_iosetup()
1095 if (!fh->rhp) { in pvr2_v4l2_read()
[all …]
/linux/include/linux/sched/
H A Dmm.h63 static inline void __mmdrop_delayed(struct rcu_head *rhp) in __mmdrop_delayed() argument
65 struct mm_struct *mm = container_of(rhp, struct mm_struct, delayed_drop); in __mmdrop_delayed()
/linux/drivers/infiniband/hw/cxgb4/
H A Dev.c100 c4iw_modify_qp(qhp->rhp, qhp, C4IW_QP_ATTR_NEXT_STATE, in post_qp_event()
H A Dcm.c1645 err = c4iw_modify_qp(ep->com.qp->rhp, in process_mpa_reply()
1660 err = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in process_mpa_reply()
1679 err = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in process_mpa_reply()
1884 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in rx_data()
2760 ret = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in peer_close()
2778 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in peer_close()
2808 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in finish_peer_abort()
2912 ret = c4iw_modify_qp(ep->com.qp->rhp, in peer_abort()
3001 c4iw_modify_qp(ep->com.qp->rhp, in close_con_rpl()
3038 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in terminate()
[all …]
H A Drestrack.c434 struct c4iw_dev *dev = mhp->rhp; in c4iw_fill_res_mr_entry()
/linux/kernel/
H A Dpid.c104 static void delayed_put_pid(struct rcu_head *rhp) in delayed_put_pid() argument
106 struct pid *pid = container_of(rhp, struct pid, rcu); in delayed_put_pid()
/linux/Documentation/RCU/
H A Drcuref.rst114 void el_free(struct rcu_head *rhp)
/linux/kernel/locking/
H A Dlocktorture.c1114 static void call_rcu_chain_cb(struct rcu_head *rhp) in call_rcu_chain_cb() argument
1116 struct call_rcu_chain *crcp = container_of(rhp, struct call_rcu_chain, crc_rh); in call_rcu_chain_cb()
/linux/fs/xfs/
H A Dxfs_log_recover.c2358 struct hlist_head *rhp; in xlog_recover_ophdr_to_trans() local
2361 rhp = &rhash[XLOG_RHASH(tid)]; in xlog_recover_ophdr_to_trans()
2362 hlist_for_each_entry(trans, rhp, r_list) { in xlog_recover_ophdr_to_trans()
2385 hlist_add_head(&trans->r_list, rhp); in xlog_recover_ophdr_to_trans()
/linux/tools/testing/selftests/bpf/test_kmods/
H A Dbpf_testmod.c1152 static void bpf_kfunc_rcu_tasks_trace_cb(struct rcu_head *rhp) in bpf_kfunc_rcu_tasks_trace_cb() argument
1156 data = container_of(rhp, struct bpf_kfunc_rcu_tasks_trace_data, rcu); in bpf_kfunc_rcu_tasks_trace_cb()

12