Changeset 1ba37fa in mainline for kernel/generic/src/proc
- Timestamp:
- 2010-04-06T11:53:32Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 516adce
- Parents:
- f0dcdc5
- Location:
- kernel/generic/src/proc
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/proc/scheduler.c
rf0dcdc5 r1ba37fa 316 316 spinlock_lock(&THREAD->lock); 317 317 318 /* Update thread accounting */ 319 THREAD->cycles += get_cycle() - THREAD->last_cycle; 318 /* Update thread kernel accounting */ 320 319 THREAD->kcycles += get_cycle() - THREAD->last_cycle; 321 320 -
kernel/generic/src/proc/task.c
rf0dcdc5 r1ba37fa 184 184 ta->context = CONTEXT; 185 185 ta->capabilities = 0; 186 ta->cycles = 0;187 186 ta->ucycles = 0; 188 187 ta->kcycles = 0; … … 322 321 * @param kcycles Out pointer to sum of all kernel cycles. 323 322 */ 324 uint64_ttask_get_accounting(task_t *t, uint64_t *ucycles, uint64_t *kcycles)323 void task_get_accounting(task_t *t, uint64_t *ucycles, uint64_t *kcycles) 325 324 { 326 325 /* Accumulated values of task */ 327 uint64_t ret = t->cycles;328 326 uint64_t uret = t->ucycles; 329 327 uint64_t kret = t->kcycles; … … 343 341 uret += thr->ucycles; 344 342 kret += thr->kcycles; 345 ret += thr->cycles;346 343 } 347 344 spinlock_unlock(&thr->lock); … … 350 347 *ucycles = uret; 351 348 *kcycles = kret; 352 353 return ret;354 349 } 355 350 … … 417 412 spinlock_lock(&t->lock); 418 413 419 uint64_t cycles;420 414 uint64_t ucycles; 421 415 uint64_t kcycles; 422 char suffix, usuffix, ksuffix; 423 cycles = task_get_accounting(t, &ucycles, &kcycles); 424 order(cycles, &cycles, &suffix); 416 char usuffix, ksuffix; 417 task_get_accounting(t, &ucycles, &kcycles); 425 418 order(ucycles, &ucycles, &usuffix); 426 419 order(kcycles, &kcycles, &ksuffix); -
kernel/generic/src/proc/thread.c
rf0dcdc5 r1ba37fa 133 133 if (!THREAD->uncounted) { 134 134 thread_update_accounting(true); 135 uint64_t cycles = THREAD->cycles;136 THREAD->cycles = 0;137 135 uint64_t ucycles = THREAD->ucycles; 138 136 THREAD->ucycles = 0; … … 143 141 144 142 spinlock_lock(&TASK->lock); 145 TASK->cycles += cycles;146 143 TASK->ucycles += ucycles; 147 144 TASK->kcycles += kcycles; … … 330 327 t->thread_arg = arg; 331 328 t->ticks = -1; 332 t->cycles = 0;333 329 t->ucycles = 0; 334 330 t->kcycles = 0; … … 623 619 thread_t *t = avltree_get_instance(node, thread_t, threads_tree_node); 624 620 625 uint64_t cycles, ucycles, kcycles; 626 char suffix, usuffix, ksuffix; 627 order(t->cycles, &cycles, &suffix); 621 uint64_t ucycles, kcycles; 622 char usuffix, ksuffix; 628 623 order(t->ucycles, &ucycles, &usuffix); 629 624 order(t->kcycles, &kcycles, &ksuffix); … … 724 719 { 725 720 uint64_t time = get_cycle(); 726 THREAD->cycles += time - THREAD->last_cycle;727 721 if (user) { 728 722 THREAD->ucycles += time - THREAD->last_cycle;
Note:
See TracChangeset
for help on using the changeset viewer.