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