Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/console/cmd.c

    rb3631bc r1ba37fa  
    6666#include <ipc/irq.h>
    6767#include <ipc/event.h>
    68 #include <sysinfo/sysinfo.h>
    6968#include <symtab.h>
    7069#include <errno.h>
     
    388387};
    389388
    390 static int cmd_sysinfo(cmd_arg_t *argv);
    391 static cmd_info_t sysinfo_info = {
    392         .name = "sysinfo",
    393         .description = "Dump sysinfo.",
    394         .func = cmd_sysinfo,
    395         .argc = 0
    396 };
    397 
    398389/* Data and methods for 'zones' command */
    399390static int cmd_zones(cmd_arg_t *argv);
     
    484475        &set4_info,
    485476        &slabs_info,
    486         &sysinfo_info,
    487477        &symaddr_info,
    488478        &sched_info,
     
    878868}
    879869
    880 /** Command for dumping sysinfo
    881  *
    882  * @param argv Ignores
    883  *
    884  * @return Always 1
    885  */
    886 int cmd_sysinfo(cmd_arg_t * argv)
    887 {
    888         sysinfo_dump(NULL, 0);
    889         return 1;
    890 }
    891 
    892870
    893871/** Command for listings Thread information
     
    10491027        ipl_t ipl = interrupts_disable();
    10501028        spinlock_lock(&TASK->lock);
    1051         uint64_t t0 = task_get_accounting(TASK);
     1029        uint64_t ucycles0, kcycles0;
     1030        task_get_accounting(TASK, &ucycles0, &kcycles0);
    10521031        spinlock_unlock(&TASK->lock);
    10531032        interrupts_restore(ipl);
     
    10581037       
    10591038        /* Update and read thread accounting */
     1039        uint64_t ucycles1, kcycles1;
    10601040        ipl = interrupts_disable();
    10611041        spinlock_lock(&TASK->lock);
    1062         uint64_t dt = task_get_accounting(TASK) - t0;
     1042        task_get_accounting(TASK, &ucycles1, &kcycles1);
    10631043        spinlock_unlock(&TASK->lock);
    10641044        interrupts_restore(ipl);
    10651045       
    1066         uint64_t cycles;
    1067         char suffix;
    1068         order(dt, &cycles, &suffix);
    1069                
    1070         printf("Time: %" PRIu64 "%c cycles\n", cycles, suffix);
     1046        uint64_t ucycles, kcycles;
     1047        char usuffix, ksuffix;
     1048        order(ucycles1 - ucycles0, &ucycles, &usuffix);
     1049        order(kcycles1 - kcycles0, &kcycles, &ksuffix);
     1050               
     1051        printf("Time: %" PRIu64 "%c user cycles, %" PRIu64 "%c kernel cycles\n",
     1052                        ucycles, usuffix, kcycles, ksuffix);
    10711053       
    10721054        if (ret == NULL) {
     
    10831065        uint32_t i;
    10841066        bool ret = true;
    1085         uint64_t cycles;
    1086         char suffix;
     1067        uint64_t ucycles, kcycles;
     1068        char usuffix, ksuffix;
    10871069       
    10881070        if (cnt < 1)
     
    11021084                ipl_t ipl = interrupts_disable();
    11031085                spinlock_lock(&TASK->lock);
    1104                 uint64_t t0 = task_get_accounting(TASK);
     1086                uint64_t ucycles0, kcycles0;
     1087                task_get_accounting(TASK, &ucycles0, &kcycles0);
    11051088                spinlock_unlock(&TASK->lock);
    11061089                interrupts_restore(ipl);
     
    11131096                ipl = interrupts_disable();
    11141097                spinlock_lock(&TASK->lock);
    1115                 uint64_t dt = task_get_accounting(TASK) - t0;
     1098                uint64_t ucycles1, kcycles1;
     1099                task_get_accounting(TASK, &ucycles1, &kcycles1);
    11161100                spinlock_unlock(&TASK->lock);
    11171101                interrupts_restore(ipl);
    1118                
     1102
    11191103                if (ret != NULL) {
    11201104                        printf("%s\n", ret);
     
    11231107                }
    11241108               
    1125                 data[i] = dt;
    1126                 order(dt, &cycles, &suffix);
    1127                 printf("OK (%" PRIu64 "%c cycles)\n", cycles, suffix);
     1109                data[i] = ucycles1 - ucycles0 + kcycles1 - kcycles0;
     1110                order(ucycles1 - ucycles0, &ucycles, &usuffix);
     1111                order(kcycles1 - kcycles0, &kcycles, &ksuffix);
     1112                printf("OK (%" PRIu64 "%c user cycles, %" PRIu64 "%c kernel cycles)\n",
     1113                                ucycles, usuffix, kcycles, ksuffix);
    11281114        }
    11291115       
     
    11371123                }
    11381124               
    1139                 order(sum / (uint64_t) cnt, &cycles, &suffix);
    1140                 printf("Average\t\t%" PRIu64 "%c\n", cycles, suffix);
     1125                order(sum / (uint64_t) cnt, &ucycles, &usuffix);
     1126                printf("Average\t\t%" PRIu64 "%c\n", ucycles, usuffix);
    11411127        }
    11421128       
Note: See TracChangeset for help on using the changeset viewer.