Rev 1 | Rev 532 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1 | Rev 501 | ||
---|---|---|---|
1 | 1 | ||
2 | SPINNING LOCKS |
2 | SPINNING LOCKS |
3 | spinlock_lock, spinlock_trylock, spinlock_unlock |
3 | spinlock_lock, spinlock_trylock, spinlock_unlock |
4 | +------------+ |
4 | +------------+ |
5 | | spinlock_t | |
5 | | spinlock_t | |
6 | +------------+ |
6 | +------------+ |
7 | 7 | ||
8 | WAIT QUEUES |
8 | WAIT QUEUES |
9 | waitq_sleep_timeout, waitq_wakeup |
9 | waitq_sleep_timeout, waitq_wakeup |
10 | +---------+ |
10 | +---------+ |
11 | | waitq_t | |
11 | | waitq_t | |
12 | +---------+ |
12 | +---------+ |
13 | / \ |
13 | / \ |
14 | SEMAPHORES / \ CONDITION VARIABLES |
14 | SEMAPHORES / \ CONDITION VARIABLES |
15 | semaphore_down_timeout, semaphore_up condvar_wait_timeout, condvar_signal |
15 | semaphore_down_timeout, semaphore_up condvar_wait_timeout, condvar_signal |
16 | +--------------+ / \ +-----------+ |
16 | +--------------+ / \ +-----------+ |
17 | | semaphore_t |<-+ +->| condvar_t | |
17 | | semaphore_t |<-+ +->| condvar_t | |
18 | +--------------+ +-----------+ |
18 | +--------------+ +-----------+ |
19 | | ^ |
19 | | ^ |
20 | | | |
20 | | | |
21 | | +------+ |
21 | | +------+ |
22 | V / |
22 | V / |
23 | MUTEXES / READERS/WRITERS LOCKS |
23 | MUTEXES / READERS/WRITERS LOCKS |
24 | mutex_lock_timeout, mutex_unlock rwlock_reader/writer_lock_timeout, rwlock_unlock |
24 | mutex_lock_timeout, mutex_unlock rwlock_reader/writer_lock_timeout, rwlock_unlock |
25 | +---------+ / +----------+ |
25 | +---------+ / +----------+ |
26 | | mutex_t |------------------------------->| rwlock_t | |
26 | | mutex_t |------------------------------->| rwlock_t | |
27 | +---------+ / +----------+ |
27 | +---------+ / +----------+ |
28 | | / |
28 | | / |
29 | +------------------------+ |
29 | +------------------------+ |
30 | 30 |