Searched refs:turnstile (Results 1 - 12 of 12) sorted by relevance
/freebsd-12-stable/sys/sys/ |
H A D | turnstile.h | 34 * Turnstile interface. Non-sleepable locks use a turnstile for the 36 * turnstile contains two sub-queues: one for threads waiting for a 40 * A thread calls turnstile_chain_lock() to lock the turnstile chain 45 * turnstile chain lock. 48 * up the turnstile associated with the given lock in the hash table. Then 53 * turnstile became empty as a result. After the higher level code finishes 55 * pending thread(s) and give up ownership of the turnstile. 61 * on it, the new owner of the lock must claim ownership of the turnstile 64 * Each thread allocates a turnstile at thread creation via turnstile_alloc() 66 * a turnstile i [all...] |
H A D | proc.h | 196 struct turnstile; 238 struct turnstile *td_turnstile; /* (k) Associated turnstile. */ 263 struct turnstile *td_blocked; /* (t) Lock thread is blocked on. */ 265 LIST_HEAD(, turnstile) td_contested; /* (q) Contested locks. */
|
/freebsd-12-stable/sys/kern/ |
H A D | subr_turnstile.c | 38 * turnstile queue's are assigned to a lock held by an owning thread. Thus, 39 * when one thread is enqueued onto a turnstile, it can lend its priority 42 * We wish to avoid bloating locks with an embedded turnstile and we do not 47 * hash table is a linked-lists of turnstiles and is called a turnstile 51 * Each time a thread is created, a turnstile is allocated from a UMA zone 53 * first thread to block, it lends its turnstile to the lock. If the lock 54 * already has a turnstile, then it gives its turnstile to the lock's 55 * turnstile's free list. When a thread is woken up, it takes a turnstile fro 122 struct turnstile { struct [all...] |
H A D | kern_rwlock.c | 51 #include <sys/turnstile.h> 428 struct turnstile *ts; 550 * acquire the turnstile lock so we can begin the process 573 * owners) while we were waiting on the turnstile 574 * chain lock. If so, drop the turnstile lock and try 593 * to set it. If we fail to set it drop the turnstile 607 * flag is set, so we must block on the turnstile. 610 CTR2(KTR_LOCK, "%s: %p blocking on turnstile", __func__, 622 CTR2(KTR_LOCK, "%s: %p resuming from turnstile", 645 * TODO: acquire "owner of record" here. Here be turnstile dragon [all...] |
H A D | kern_rmlock.c | 53 #include <sys/turnstile.h> 493 struct turnstile *ts; 537 struct turnstile *ts;
|
H A D | kern_mutex.c | 62 #include <sys/turnstile.h> 488 struct turnstile *ts; 607 * the turnstile chain lock. 618 * owners) while we were waiting on the turnstile 619 * chain lock. If so, drop the turnstile lock and try 645 * Block on the turnstile. 1007 struct turnstile *ts; 1032 * We have to lock the chain before the turnstile so this turnstile 1044 * This turnstile i [all...] |
H A D | kern_switch.c | 94 SCHED_STAT_DEFINE_VAR(turnstile,
|
H A D | subr_epoch.c | 49 #include <sys/turnstile.h> 429 struct turnstile *ts; 475 * oldest thread in the queue and wait on its turnstile 493 * waiting on a turnstile. Otherwise find the lowest
|
H A D | kern_thread.c | 52 #include <sys/turnstile.h>
|
H A D | sched_4bsd.c | 58 #include <sys/turnstile.h> 902 * If the thread is on a turnstile, then let the turnstile update
|
H A D | sched_ule.c | 63 #include <sys/turnstile.h> 1215 * turnstile or a sleepqueue. We can just lock_set without 1862 * If the thread is on a turnstile, then let the turnstile update
|
/freebsd-12-stable/sys/amd64/amd64/ |
H A D | pmap.c | 129 #include <sys/turnstile.h> 554 struct turnstile *ts; 566 struct turnstile *ts; 966 * cannot sleep. Instead, it blocks on a turnstile to relinquish the
|
Completed in 352 milliseconds