Changeset 55b77d9 in mainline for kernel/generic/src/proc
- Timestamp:
- 2011-06-17T20:39:16Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8f164724
- Parents:
- 98caf49
- Location:
- kernel/generic/src/proc
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/proc/scheduler.c
r98caf49 r55b77d9 237 237 * Take the first thread from the queue. 238 238 */ 239 thread_t *thread = 240 list_ get_instance(CPU->rq[i].rq_head.next, thread_t, rq_link);239 thread_t *thread = list_get_instance( 240 list_first(&CPU->rq[i].rq), thread_t, rq_link); 241 241 list_remove(&thread->rq_link); 242 242 … … 273 273 static void relink_rq(int start) 274 274 { 275 li nk_t head;276 277 list_initialize(& head);275 list_t list; 276 277 list_initialize(&list); 278 278 irq_spinlock_lock(&CPU->lock, false); 279 279 … … 284 284 285 285 irq_spinlock_lock(&CPU->rq[i + 1].lock, false); 286 list_concat(& head, &CPU->rq[i + 1].rq_head);286 list_concat(&list, &CPU->rq[i + 1].rq); 287 287 size_t n = CPU->rq[i + 1].n; 288 288 CPU->rq[i + 1].n = 0; … … 292 292 293 293 irq_spinlock_lock(&CPU->rq[i].lock, false); 294 list_concat(&CPU->rq[i].rq _head, &head);294 list_concat(&CPU->rq[i].rq, &list); 295 295 CPU->rq[i].n += n; 296 296 irq_spinlock_unlock(&CPU->rq[i].lock, false); … … 616 616 617 617 /* Search rq from the back */ 618 link_t *link = cpu->rq[rq].rq _head.prev;619 620 while (link != &(cpu->rq[rq].rq _head)) {618 link_t *link = cpu->rq[rq].rq.head.prev; 619 620 while (link != &(cpu->rq[rq].rq.head)) { 621 621 thread = (thread_t *) list_get_instance(link, 622 622 thread_t, rq_link); … … 740 740 741 741 printf("\trq[%u]: ", i); 742 link_t *cur; 743 for (cur = cpus[cpu].rq[i].rq_head.next; 744 cur != &(cpus[cpu].rq[i].rq_head); 745 cur = cur->next) { 746 thread_t *thread = list_get_instance(cur, thread_t, rq_link); 742 list_foreach(cpus[cpu].rq[i].rq, cur) { 743 thread_t *thread = list_get_instance(cur, 744 thread_t, rq_link); 747 745 printf("%" PRIu64 "(%s) ", thread->tid, 748 746 thread_states[thread->state]); -
kernel/generic/src/proc/task.c
r98caf49 r55b77d9 155 155 mutex_initialize(&task->futexes_lock, MUTEX_PASSIVE); 156 156 157 list_initialize(&task->th _head);158 list_initialize(&task->sync_box _head);157 list_initialize(&task->threads); 158 list_initialize(&task->sync_boxes); 159 159 160 160 ipc_answerbox_init(&task->answerbox, task); … … 435 435 436 436 /* Current values of threads */ 437 link_t *cur; 438 for (cur = task->th_head.next; cur != &task->th_head; cur = cur->next) { 437 list_foreach(task->threads, cur) { 439 438 thread_t *thread = list_get_instance(cur, thread_t, th_link); 440 439 … … 468 467 */ 469 468 470 link_t *cur; 471 for (cur = task->th_head.next; cur != &task->th_head; cur = cur->next) { 469 list_foreach(task->threads, cur) { 472 470 thread_t *thread = list_get_instance(cur, thread_t, th_link); 473 471 bool sleeping = false; -
kernel/generic/src/proc/thread.c
r98caf49 r55b77d9 260 260 */ 261 261 262 list_append(&thread->rq_link, &cpu->rq[i].rq _head);262 list_append(&thread->rq_link, &cpu->rq[i].rq); 263 263 cpu->rq[i].n++; 264 264 irq_spinlock_unlock(&(cpu->rq[i].lock), true); … … 423 423 atomic_inc(&task->lifecount); 424 424 425 list_append(&thread->th_link, &task->th _head);425 list_append(&thread->th_link, &task->threads); 426 426 427 427 irq_spinlock_pass(&task->lock, &threads_lock);
Note:
See TracChangeset
for help on using the changeset viewer.