Files
mckernel/test/rusage/rusage100.patch
2017-09-20 19:48:32 +09:00

50 lines
1.7 KiB
Diff

diff --git a/arch/x86/kernel/include/syscall_list.h b/arch/x86/kernel/include/syscall_list.h
index 7c6edcb..52c1ff3 100644
--- a/mckernel/arch/x86/kernel/include/syscall_list.h
+++ b/mckernel/arch/x86/kernel/include/syscall_list.h
@@ -161,6 +161,7 @@ SYSCALL_HANDLED(__NR_profile, profile)
SYSCALL_HANDLED(730, util_migrate_inter_kernel)
SYSCALL_HANDLED(731, util_indicate_clone)
SYSCALL_HANDLED(732, get_system)
+SYSCALL_HANDLED(900, dump_rusage)
/* McKernel Specific */
SYSCALL_HANDLED(801, swapout)
diff --git a/kernel/syscall.c b/kernel/syscall.c
index 78a832b..eae43cf 100644
--- a/mckernel/kernel/syscall.c
+++ b/mckernel/kernel/syscall.c
@@ -10030,3 +10030,32 @@ long syscall(int num, ihk_mc_user_context_t *ctx)
return l;
}
+
+SYSCALL_DECLARE(dump_rusage)
+{
+#if 1
+ /* rusage debug */
+ int i;
+ for(i = 0; i < IHK_MAX_NUM_PGSIZES; i++) {
+ kprintf("memory_stat_rss[%d]=%ld\n", i, rusage->memory_stat_rss[i]);
+ }
+ for(i = 0; i < IHK_MAX_NUM_PGSIZES; i++) {
+ kprintf("memory_stat_mapped_file[%d]=%ld\n", i, rusage->memory_stat_mapped_file[i]);
+ }
+ kprintf("memory_max_usage=%ld\n", rusage->memory_max_usage);
+ kprintf("memory_kmem_usage=%ld\n", rusage->memory_kmem_usage);
+ kprintf("memory_kmem_max_usage=%ld\n", rusage->memory_kmem_max_usage);
+ for (i = 0; i < rusage->num_numa_nodes; i++) {
+ kprintf("memory_numa_stat[%d]=%ld\n", i, rusage->memory_numa_stat[i]);
+ }
+ kprintf("ns_per_tsc=%ld\n", rusage->ns_per_tsc);
+ for (i = 0; i < rusage->num_processors; i++) {
+ kprintf("cpu[%d].user_tsc=%ld\n", i, rusage->cpu[i].user_tsc);
+ kprintf("cpu[%d].system_tsc=%ld\n", i, rusage->cpu[i].system_tsc);
+ }
+
+ kprintf("num_threads=%d\n", rusage->num_threads);
+ kprintf("max_num_threads=%d\n", rusage->max_num_threads);
+#endif
+ return 0;
+}