Changes in kernel/generic/src/console/cmd.c [b3631bc:1ba37fa] in mainline
- File:
-
- 1 edited
-
kernel/generic/src/console/cmd.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/console/cmd.c
rb3631bc r1ba37fa 66 66 #include <ipc/irq.h> 67 67 #include <ipc/event.h> 68 #include <sysinfo/sysinfo.h>69 68 #include <symtab.h> 70 69 #include <errno.h> … … 388 387 }; 389 388 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 = 0396 };397 398 389 /* Data and methods for 'zones' command */ 399 390 static int cmd_zones(cmd_arg_t *argv); … … 484 475 &set4_info, 485 476 &slabs_info, 486 &sysinfo_info,487 477 &symaddr_info, 488 478 &sched_info, … … 878 868 } 879 869 880 /** Command for dumping sysinfo881 *882 * @param argv Ignores883 *884 * @return Always 1885 */886 int cmd_sysinfo(cmd_arg_t * argv)887 {888 sysinfo_dump(NULL, 0);889 return 1;890 }891 892 870 893 871 /** Command for listings Thread information … … 1049 1027 ipl_t ipl = interrupts_disable(); 1050 1028 spinlock_lock(&TASK->lock); 1051 uint64_t t0 = task_get_accounting(TASK); 1029 uint64_t ucycles0, kcycles0; 1030 task_get_accounting(TASK, &ucycles0, &kcycles0); 1052 1031 spinlock_unlock(&TASK->lock); 1053 1032 interrupts_restore(ipl); … … 1058 1037 1059 1038 /* Update and read thread accounting */ 1039 uint64_t ucycles1, kcycles1; 1060 1040 ipl = interrupts_disable(); 1061 1041 spinlock_lock(&TASK->lock); 1062 uint64_t dt = task_get_accounting(TASK) - t0;1042 task_get_accounting(TASK, &ucycles1, &kcycles1); 1063 1043 spinlock_unlock(&TASK->lock); 1064 1044 interrupts_restore(ipl); 1065 1045 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); 1071 1053 1072 1054 if (ret == NULL) { … … 1083 1065 uint32_t i; 1084 1066 bool ret = true; 1085 uint64_t cycles;1086 char suffix;1067 uint64_t ucycles, kcycles; 1068 char usuffix, ksuffix; 1087 1069 1088 1070 if (cnt < 1) … … 1102 1084 ipl_t ipl = interrupts_disable(); 1103 1085 spinlock_lock(&TASK->lock); 1104 uint64_t t0 = task_get_accounting(TASK); 1086 uint64_t ucycles0, kcycles0; 1087 task_get_accounting(TASK, &ucycles0, &kcycles0); 1105 1088 spinlock_unlock(&TASK->lock); 1106 1089 interrupts_restore(ipl); … … 1113 1096 ipl = interrupts_disable(); 1114 1097 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); 1116 1100 spinlock_unlock(&TASK->lock); 1117 1101 interrupts_restore(ipl); 1118 1102 1119 1103 if (ret != NULL) { 1120 1104 printf("%s\n", ret); … … 1123 1107 } 1124 1108 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); 1128 1114 } 1129 1115 … … 1137 1123 } 1138 1124 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); 1141 1127 } 1142 1128
Note:
See TracChangeset
for help on using the changeset viewer.
