Searched refs:queue (Results 1 - 8 of 8) sorted by relevance
/seL4-mcs-10.1.1/src/object/ |
H A D | endpoint.c | 22 ep_ptr_set_queue(endpoint_t *epptr, tcb_queue_t queue) argument 24 endpoint_ptr_set_epQueue_head(epptr, (word_t)queue.head); 25 endpoint_ptr_set_epQueue_tail(epptr, (word_t)queue.end); 36 tcb_queue_t queue; local 52 /* Place calling thread in endpoint queue */ 53 queue = ep_ptr_get_queue(epptr); 54 queue = tcbEPAppend(thread, queue); 56 ep_ptr_set_queue(epptr, queue); 61 tcb_queue_t queue; local 134 tcb_queue_t queue; local 161 tcb_queue_t queue; local 243 tcb_queue_t queue; local 321 tcb_queue_t queue = ep_ptr_get_queue(epptr); local 361 tcb_queue_t queue = ep_ptr_get_queue(epptr); local [all...] |
H A D | notification.c | 123 /* Haskell error "WaitingNtfn Notification must have non-empty queue" */ 130 /* set the thread state to idle if the queue is empty */ 292 tcb_queue_t queue = ntfn_ptr_get_queue(ntfnPtr); local 293 queue = tcbEPDequeue(thread, queue); 294 queue = tcbEPAppend(thread, queue); 295 ntfn_ptr_set_queue(ntfnPtr, queue);
|
H A D | tcb.c | 86 /* Add TCB to the head of a scheduler queue */ 94 tcb_queue_t queue; local 102 queue = NODE_STATE_ON_CORE(ksReadyQueues[idx], tcb->tcbAffinity); 104 if (!queue.end) { /* Empty list */ 105 queue.end = tcb; 108 queue.head->tcbSchedPrev = tcb; 111 tcb->tcbSchedNext = queue.head; 112 queue.head = tcb; 114 NODE_STATE_ON_CORE(ksReadyQueues[idx], tcb->tcbAffinity) = queue; 120 /* Add TCB to the end of a scheduler queue */ 128 tcb_queue_t queue; local 159 tcb_queue_t queue; local 226 tcbEPDequeue(tcb_t *tcb, tcb_queue_t queue) argument [all...] |
/seL4-mcs-10.1.1/include/object/ |
H A D | endpoint.h | 20 tcb_queue_t queue; local 22 queue.head = (tcb_t*)endpoint_ptr_get_epQueue_head(epptr); 23 queue.end = (tcb_t*)endpoint_ptr_get_epQueue_tail(epptr); 25 return queue;
|
H A D | tcb.h | 84 /* Add TCB into the priority ordered endpoint queue */ 86 tcbEPAppend(tcb_t *tcb, tcb_queue_t queue) argument 88 /* start at the back of the queue as FIFO is the common case */ 89 tcb_t *before = queue.end; 100 queue.head = tcb; 107 queue.end = tcb; 115 return queue; 118 tcb_queue_t tcbEPDequeue(tcb_t *tcb, tcb_queue_t queue);
|
/seL4-mcs-10.1.1/src/fastpath/ |
H A D | fastpath.c | 370 /* Place the thread in the endpoint queue */ 376 /* Set head/tail of queue and endpoint state. */ 381 /* Update queue. */ 382 tcb_queue_t queue = tcbEPAppend(NODE_STATE(ksCurThread), ep_ptr_get_queue(ep_ptr)); local 383 endpoint_ptr_set_epQueue_head_np(ep_ptr, TCB_REF(queue.head)); 384 endpoint_ptr_mset_epQueue_tail_state(ep_ptr, TCB_REF(queue.end), EPState_Recv);
|
/seL4-mcs-10.1.1/manual/parts/ |
H A D | ipc.tex | 109 synchronous and blocking. An \obj{Endpoint} object may queue 112 system calls will wait in a queue for the first available receiver. Likewise, if
|
H A D | threads.tex | 103 scheduling context is placed in a queue of threads waiting for more budget. 108 replenishment. Once the head budget is consumed, the thread is removed from the scheduling queue 133 replenishment queue. However, the scheduling overhead will be higher as the replenishment list is 150 suspending a thread, in that threads that are blocked waiting in an endpoint or notification queue 151 will remain in the queue and can still recieve messages and signals. However, the unbound thread
|
Completed in 84 milliseconds