Lines Matching refs:A
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
38 but by doing so, it is in fact preempting A which is a higher priority process.
39 Now there's no way of knowing how long A will be sleeping waiting for C
48 A ---+
54 B now keeps A from running.
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.
95 waiter - A waiter is a struct that is stored on the stack of a blocked
107 waiters - A list of processes that are blocked on a mutex.
128 Process: A, B, C, D, E
131 A owns: L1
142 E->L4->D->L3->C->L2->B->L1->A
149 F->L5->B->L1->A
158 +->B->L1->A
170 G->L2->B->L1->A
178 G-+ +->B->L1->A
284 Processes A, B, C, and D which run functions func1, func2, func3 and func4
285 respectively, and such that D runs first and A last. With D being preempted
293 A blocked on L1
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)
336 unsigned long T = *A;
337 if (*A == *B) {
338 *A = *C;
346 the return value (the old value of A) is equal to B.
432 A loop is entered, where task is the owner to be checked for PI changes that
441 A check is now done to see if the original waiter (the process that is blocked
448 task that owns a mutex that this current task is waiting on. A priority chain
731 A check is made to see if the mutex has waiters or not. On architectures that