Changeset 07640dfd in mainline for kernel/generic


Ignore:
Timestamp:
2010-03-29T16:21:29Z (15 years ago)
Author:
Stanislav Kozina <stanislav.kozina@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ea55bc4
Parents:
a2a00e8
Message:

Small changes on kernel & user accounting.

Location:
kernel/generic
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/ps/taskinfo.h

    ra2a00e8 r07640dfd  
    5050        int thread_count;
    5151        uint64_t cycles;
     52        uint64_t ucycles;
     53        uint64_t kcycles;
    5254} task_info_t;
    5355
     
    7577        int priority;
    7678        uint64_t cycles;
     79        uint64_t ucycles;
     80        uint64_t kcycles;
    7781        unsigned int cpu;
    7882} thread_info_t;
  • kernel/generic/src/interrupt/interrupt.c

    ra2a00e8 r07640dfd  
    109109        if (THREAD && THREAD->interrupted && istate_from_uspace(istate))
    110110                thread_exit();
     111
     112        if (THREAD)
     113                thread_update_accounting(false);
    111114}
    112115
  • kernel/generic/src/proc/task.c

    ra2a00e8 r07640dfd  
    427427
    428428#ifdef __32_BITS__     
    429         printf("%-6" PRIu64 " %-12s %-3" PRIu32 " %10p %10p %9" PRIu64 "%c %9" PRIu64 "%c %9"
    430                 PRIu64 "%c %7ld %6ld", t->taskid, t->name, t->context, t, t->as, cycles, suffix,
     429        printf("%-6" PRIu64 " %-12s %-3" PRIu32 " %10p %10p %9" PRIu64 "%c %9"
     430                PRIu64 "%c %7ld %6ld", t->taskid, t->name, t->context, t, t->as,
    431431                ucycles, usuffix, kcycles, ksuffix, atomic_get(&t->refcount),
    432432                atomic_get(&t->active_calls));
     
    434434
    435435#ifdef __64_BITS__
    436         printf("%-6" PRIu64 " %-12s %-3" PRIu32 " %18p %18p %9" PRIu64 "%c %9" PRIu64 "%c %9"
    437                 PRIu64 "%c %7ld %6ld", t->taskid, t->name, t->context, t, t->as, cycles, suffix,
     436        printf("%-6" PRIu64 " %-12s %-3" PRIu32 " %18p %18p %9" PRIu64 "%c %9"
     437                PRIu64 "%c %7ld %6ld", t->taskid, t->name, t->context, t, t->as,
    438438                ucycles, usuffix, kcycles, ksuffix, atomic_get(&t->refcount),
    439439                atomic_get(&t->active_calls));
     
    461461#ifdef __32_BITS__     
    462462        printf("taskid name         ctx address    as        "
    463             " cycles     ucycles    kcycles    threads calls  callee\n");
     463            " ucycles    kcycles    threads calls  callee\n");
    464464        printf("------ ------------ --- ---------- ----------"
    465             " ---------- ---------- ---------- ------- ------ ------>\n");
     465            " ---------- ---------- ------- ------ ------>\n");
    466466#endif
    467467
    468468#ifdef __64_BITS__
    469469        printf("taskid name         ctx address            as                "
    470             " cycles     ucycles    kcycles    threads calls  callee\n");
     470            " ucycles    kcycles    threads calls  callee\n");
    471471        printf("------ ------------ --- ------------------ ------------------"
    472             " ---------- ---------- ---------- ---------- ------- ------ ------>\n");
     472            " ---------- ---------- ---------- ------- ------ ------>\n");
    473473#endif
    474474
  • kernel/generic/src/proc/thread.c

    ra2a00e8 r07640dfd  
    630630
    631631#ifdef __32_BITS__
    632         printf("%-6" PRIu64" %-10s %10p %-8s %10p %-3" PRIu32 " %10p %10p %9" PRIu64 "%c %9" PRIu64 "%c %9" PRIu64 "%c ",
    633             t->tid, t->name, t, thread_states[t->state], t->task,
    634         t->task->context, t->thread_code, t->kstack, cycles, suffix, ucycles, usuffix, kcycles, ksuffix);
     632        printf("%-6" PRIu64" %-10s %10p %-8s %10p %-3" PRIu32 " %10p %10p %9"
     633                PRIu64 "%c %9" PRIu64 "%c ", t->tid, t->name, t,
     634                thread_states[t->state], t->task, t->task->context, t->thread_code,
     635                t->kstack, ucycles, usuffix, kcycles, ksuffix);
    635636#endif
    636637
    637638#ifdef __64_BITS__
    638         printf("%-6" PRIu64" %-10s %18p %-8s %18p %-3" PRIu32 " %18p %18p %9" PRIu64 "%c %9" PRIu64 "%c %9" PRIu64 "%c ",
    639             t->tid, t->name, t, thread_states[t->state], t->task,
    640         t->task->context, t->thread_code, t->kstack, cycles, suffix, ucycles, usuffix, kcycles, ksuffix);
     639        printf("%-6" PRIu64" %-10s %18p %-8s %18p %-3" PRIu32 " %18p %18p %9"
     640                PRIu64 "%c %9" PRIu64 "%c ", t->tid, t->name, t,
     641                thread_states[t->state], t->task, t->task->context, t->thread_code,
     642                t->kstack, ucycles, usuffix, kcycles, ksuffix);
    641643#endif
    642644                       
     
    672674#ifdef __32_BITS__     
    673675        printf("tid    name       address    state    task       "
    674                 "ctx code       stack      cycles     ucycles    kcycles    cpu  "
     676                "ctx code       stack      ucycles    kcycles    cpu  "
    675677                "waitqueue\n");
    676678        printf("------ ---------- ---------- -------- ---------- "
    677                 "--- ---------- ---------- ---------- ---------- ---------- ---- "
     679                "--- ---------- ---------- ---------- ---------- ---- "
    678680                "----------\n");
    679681#endif
     
    681683#ifdef __64_BITS__
    682684        printf("tid    name       address            state    task               "
    683                 "ctx code               stack              cycles     ucycles    kcycles    cpu  "
     685                "ctx code               stack              ucycles    kcycles    cpu  "
    684686                "waitqueue\n");
    685687        printf("------ ---------- ------------------ -------- ------------------ "
    686                 "--- ------------------ ------------------ ---------- ---------- ---------- ---- "
     688                "--- ------------------ ------------------ ---------- ---------- ---- "
    687689                "------------------\n");
    688690#endif
  • kernel/generic/src/ps/ps.c

    ra2a00e8 r07640dfd  
    136136        uint64_t cycles = task_get_accounting(t, &ucycles, &kcycles);
    137137        copy_to_uspace(&uspace_info->cycles, &cycles, sizeof(cycles));
     138        copy_to_uspace(&uspace_info->ucycles, &ucycles, sizeof(cycles));
     139        copy_to_uspace(&uspace_info->kcycles, &kcycles, sizeof(cycles));
    138140
    139141        size_t pages = get_pages_count(t->as);
     
    171173        result.priority = t->priority;
    172174        result.cycles = t->cycles;
     175        result.ucycles = t->ucycles;
     176        result.kcycles = t->kcycles;
    173177
    174178        if (t->cpu)
  • kernel/generic/src/syscall/syscall.c

    ra2a00e8 r07640dfd  
    6262        unative_t rc;
    6363
     64        /* Do userpace accounting */
     65        thread_update_accounting(true);
     66
    6467#ifdef CONFIG_UDEBUG
    6568        /*
     
    9699        }
    97100#endif
     101
     102        /* Do kernel accounting */
     103        thread_update_accounting(false);
    98104       
    99105        return rc;
Note: See TracChangeset for help on using the changeset viewer.