Lines Matching refs:C
34 processes, let's call them processes A, B, and C, where A is the highest
35 priority process, C is the lowest, and B is in between. A tries to grab a lock
36 that C owns and must wait and lets C run to release the lock. But in the
37 meantime, B executes, and since B is of a higher priority than C, it preempts C,
39 Now there's no way of knowing how long A will be sleeping waiting for C
41 never give C a chance to release the lock. This is called unbounded priority
46 grab lock L1 (owned by C)
49 C preempted by B
51 C +----+
65 to understand, let's use the previous example, with processes A, B, and C again.
67 This time, when A blocks on the lock owned by C, C would inherit the priority
68 of A. So now if B becomes runnable, it would not preempt C, since C now has
69 the high priority of A. As soon as C releases the lock, it loses its
70 inherited priority, and A then can continue with the resource that C had.
128 Process: A, B, C, D, E
134 C blocked on L2
135 C owns L3
142 E->L4->D->L3->C->L2->B->L1->A
156 E->L4->D->L3->C->L2-+
175 E->L4->D->L3->C-+
284 Processes A, B, C, and D which run functions func1, func2, func3 and func4
289 C blocked on L3
290 C owns L2
295 And thus we have the chain A->L1->B->L2->C->L3->D.
334 unsigned long _cmpxchg(unsigned long *A, unsigned long *B, unsigned long *C)
338 *A = *C;