Lines Matching refs:rcu_segcblist

15 #include "rcu_segcblist.h"
81 /* Set the length of an rcu_segcblist structure. */
82 static void rcu_segcblist_set_len(struct rcu_segcblist *rsclp, long v)
91 /* Get the length of a segment of the rcu_segcblist structure. */
92 long rcu_segcblist_get_seglen(struct rcu_segcblist *rsclp, int seg)
98 long rcu_segcblist_n_segment_cbs(struct rcu_segcblist *rsclp)
109 /* Set the length of a segment of the rcu_segcblist structure. */
110 static void rcu_segcblist_set_seglen(struct rcu_segcblist *rsclp, int seg, long v)
116 static void rcu_segcblist_add_seglen(struct rcu_segcblist *rsclp, int seg, long v)
122 static void rcu_segcblist_move_seglen(struct rcu_segcblist *rsclp, int from, int to)
138 static void rcu_segcblist_inc_seglen(struct rcu_segcblist *rsclp, int seg)
144 * Increase the numeric length of an rcu_segcblist structure by the
210 void rcu_segcblist_add_len(struct rcu_segcblist *rsclp, long v)
224 * Increase the numeric length of an rcu_segcblist structure by one.
229 void rcu_segcblist_inc_len(struct rcu_segcblist *rsclp)
235 * Initialize an rcu_segcblist structure.
237 void rcu_segcblist_init(struct rcu_segcblist *rsclp)
253 * Disable the specified rcu_segcblist structure, so that callbacks can
256 void rcu_segcblist_disable(struct rcu_segcblist *rsclp)
264 * Mark the specified rcu_segcblist structure as offloaded (or not)
266 void rcu_segcblist_offload(struct rcu_segcblist *rsclp, bool offload)
275 * Does the specified rcu_segcblist structure contain callbacks that
278 bool rcu_segcblist_ready_cbs(struct rcu_segcblist *rsclp)
285 * Does the specified rcu_segcblist structure contain callbacks that
288 bool rcu_segcblist_pend_cbs(struct rcu_segcblist *rsclp)
295 * Return a pointer to the first callback in the specified rcu_segcblist
298 struct rcu_head *rcu_segcblist_first_cb(struct rcu_segcblist *rsclp)
307 * rcu_segcblist structure. This is useful just after posting a given
312 struct rcu_head *rcu_segcblist_first_pend_cb(struct rcu_segcblist *rsclp)
323 bool rcu_segcblist_nextgp(struct rcu_segcblist *rsclp, unsigned long *lp)
332 * Enqueue the specified callback onto the specified rcu_segcblist
340 void rcu_segcblist_enqueue(struct rcu_segcblist *rsclp,
351 * Entrain the specified callback onto the specified rcu_segcblist at
352 * the end of the last non-empty segment. If the entire rcu_segcblist
360 bool rcu_segcblist_entrain(struct rcu_segcblist *rsclp,
382 * rcu_segcblist structure and place them in the specified rcu_cblist
385 void rcu_segcblist_extract_done_cbs(struct rcu_segcblist *rsclp,
405 * invoked) from the specified rcu_segcblist structure and place them in
410 void rcu_segcblist_extract_pend_cbs(struct rcu_segcblist *rsclp,
430 * specified rcu_segcblist structure.
432 void rcu_segcblist_insert_count(struct rcu_segcblist *rsclp,
440 * done-callbacks segment of the specified rcu_segcblist.
442 void rcu_segcblist_insert_done_cbs(struct rcu_segcblist *rsclp,
463 * new-callbacks segment of the specified rcu_segcblist.
465 void rcu_segcblist_insert_pend_cbs(struct rcu_segcblist *rsclp,
477 * Advance the callbacks in the specified rcu_segcblist structure based
480 void rcu_segcblist_advance(struct rcu_segcblist *rsclp, unsigned long seq)
532 * This function operates on an rcu_segcblist structure, and also the
537 bool rcu_segcblist_accelerate(struct rcu_segcblist *rsclp, unsigned long seq)
561 * Assuming that the rcu_segcblist structure has enough
590 * where there were no pending callbacks in the rcu_segcblist
601 * Merge the source rcu_segcblist structure into the destination
602 * rcu_segcblist structure, then initialize the source. Any pending
607 void rcu_segcblist_merge(struct rcu_segcblist *dst_rsclp,
608 struct rcu_segcblist *src_rsclp)