MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rm_tracker_add

Function rm_tracker_add

freebsd/kern/kern_rmlock.c:203–218  ·  view source on GitHub ↗

* Add or remove tracker from per-cpu list. * * The per-cpu list can be traversed at any time in forward direction from an * interrupt on the *local* cpu. */

Source from the content-addressed store, hash-verified

201 * interrupt on the *local* cpu.
202 */
203static void inline
204rm_tracker_add(struct pcpu *pc, struct rm_priotracker *tracker)
205{
206 struct rm_queue *next;
207
208 /* Initialize all tracker pointers */
209 tracker->rmp_cpuQueue.rmq_prev = &pc->pc_rm_queue;
210 next = pc->pc_rm_queue.rmq_next;
211 tracker->rmp_cpuQueue.rmq_next = next;
212
213 /* rmq_prev is not used during froward traversal. */
214 next->rmq_prev = &tracker->rmp_cpuQueue;
215
216 /* Update pointer to first element. */
217 pc->pc_rm_queue.rmq_next = &tracker->rmp_cpuQueue;
218}
219
220/*
221 * Return a count of the number of trackers the thread 'td' already

Callers 2

_rm_rlock_hardFunction · 0.85
_rm_rlockFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected