Searched refs:turnstile (Results 1 - 10 of 10) sorted by relevance
/freebsd-10-stable/sys/sys/ |
H A D | turnstile.h | 33 * Turnstile interface. Non-sleepable locks use a turnstile for the 35 * turnstile contains two sub-queues: one for threads waiting for a 39 * A thread calls turnstile_chain_lock() to lock the turnstile chain 44 * turnstile chain lock. 47 * up the turnstile associated with the given lock in the hash table. Then 52 * turnstile became empty as a result. After the higher level code finishes 54 * pending thread(s) and give up ownership of the turnstile. 60 * on it, the new owner of the lock must claim ownership of the turnstile 63 * Each thread allocates a turnstile at thread creation via turnstile_alloc() 65 * a turnstile i [all...] |
H A D | proc.h | 178 struct turnstile; 217 struct turnstile *td_turnstile; /* (k) Associated turnstile. */ 242 struct turnstile *td_blocked; /* (t) Lock thread is blocked on. */ 244 LIST_HEAD(, turnstile) td_contested; /* (q) Contested locks. */
|
/freebsd-10-stable/sys/kern/ |
H A D | subr_turnstile.c | 36 * turnstile queue's are assigned to a lock held by an owning thread. Thus, 37 * when one thread is enqueued onto a turnstile, it can lend its priority 40 * We wish to avoid bloating locks with an embedded turnstile and we do not 45 * hash table is a linked-lists of turnstiles and is called a turnstile 49 * Each time a thread is created, a turnstile is allocated from a UMA zone 51 * first thread to block, it lends its turnstile to the lock. If the lock 52 * already has a turnstile, then it gives its turnstile to the lock's 53 * turnstile's free list. When a thread is woken up, it takes a turnstile fro 121 struct turnstile { struct [all...] |
H A D | kern_rwlock.c | 51 #include <sys/turnstile.h> 377 struct turnstile *ts; 507 * acquire the turnstile lock so we can begin the process 526 * owners) while we were waiting on the turnstile 527 * chain lock. If so, drop the turnstile lock and try 547 * to set it. If we fail to set it drop the turnstile 563 * flag is set, so we must block on the turnstile. 566 CTR2(KTR_LOCK, "%s: %p blocking on turnstile", __func__, 577 CTR2(KTR_LOCK, "%s: %p resuming from turnstile", 594 * TODO: acquire "owner of record" here. Here be turnstile dragon [all...] |
H A D | kern_rmlock.c | 52 #include <sys/turnstile.h> 493 struct turnstile *ts; 537 struct turnstile *ts;
|
H A D | kern_mutex.c | 62 #include <sys/turnstile.h> 435 struct turnstile *ts; 532 * the turnstile chain lock. 543 * owners) while we were waiting on the turnstile 544 * chain lock. If so, drop the turnstile lock and try 582 * Block on the turnstile. 842 struct turnstile *ts; 858 * We have to lock the chain before the turnstile so this turnstile 870 * This turnstile i [all...] |
H A D | kern_switch.c | 92 SCHED_STAT_DEFINE_VAR(turnstile,
|
H A D | kern_thread.c | 51 #include <sys/turnstile.h>
|
H A D | sched_4bsd.c | 57 #include <sys/turnstile.h> 894 * If the thread is on a turnstile, then let the turnstile update
|
H A D | sched_ule.c | 61 #include <sys/turnstile.h> 1177 * turnstile or a sleepqueue. We can just lock_set without 1766 * If the thread is on a turnstile, then let the turnstile update
|
Completed in 192 milliseconds