test: Refactor test programs

Change-Id: I77fec2f5f30f6fda3bda6f85ce00f1c2e7f7a9b3
This commit is contained in:
Ken Sato
2018-09-18 16:02:20 +09:00
parent c862b29d65
commit e803698618
93 changed files with 1127 additions and 2748 deletions

View File

@ -11,7 +11,7 @@
#define SMALL_PAGE_SIZE 4096L
#define PAGE_MASK (~(SMALL_PAGE_SIZE - 1))
#define GET_PAGE_INFO 733
#define GET_PAGE_INFO 750
int
is_small_page(long pageinfo)

View File

@ -1,20 +1,20 @@
diff --git arch/x86_64/kernel/include/syscall_list.h arch/x86_64/kernel/include/syscall_list.h
index 48b1ea0..a752a7e 100644
index 6de0ccc..912af92 100644
--- arch/x86_64/kernel/include/syscall_list.h
+++ arch/x86_64/kernel/include/syscall_list.h
@@ -161,6 +161,7 @@ SYSCALL_HANDLED(__NR_profile, profile)
SYSCALL_HANDLED(730, util_migrate_inter_kernel)
@@ -162,6 +162,7 @@ SYSCALL_HANDLED(730, util_migrate_inter_kernel)
SYSCALL_HANDLED(731, util_indicate_clone)
SYSCALL_HANDLED(732, get_system)
+SYSCALL_HANDLED(733, get_mem_info)
SYSCALL_HANDLED(733, util_register_desc)
+SYSCALL_HANDLED(750, get_mem_info)
/* McKernel Specific */
SYSCALL_HANDLED(801, swapout)
diff --git kernel/mem.c kernel/mem.c
index f6dc309..cdd7928 100644
index fa2e347..3a6adc2 100644
--- kernel/mem.c
+++ kernel/mem.c
@@ -1608,6 +1608,9 @@ int page_unmap(struct page *page)
@@ -1604,6 +1604,9 @@ int page_unmap(struct page *page)
return 1;
}
*/
@ -24,7 +24,7 @@ index f6dc309..cdd7928 100644
dkprintf("page_unmap(%p %x %d): 1\n", page, page->mode, page->count);
list_del(&page->hash);
@@ -2540,3 +2543,31 @@ int ihk_mc_get_mem_user_page(void *arg0, page_table_t pt, pte_t *ptep, void *pga
@@ -2538,3 +2541,31 @@ int ihk_mc_get_mem_user_page(void *arg0, page_table_t pt, pte_t *ptep, void *pga
return 0;
}
@ -57,18 +57,18 @@ index f6dc309..cdd7928 100644
+}
+
diff --git kernel/process.c kernel/process.c
index bb15608..25daa0e 100644
index fad3e91..8de718f 100644
--- kernel/process.c
+++ kernel/process.c
@@ -95,6 +95,7 @@ extern void procfs_delete_thread(struct thread *);
extern void perf_start(struct mc_perf_event *event);
extern void perf_reset(struct mc_perf_event *event);
#endif /* !POSTK_DEBUG_ARCH_DEP_22 */
+extern void dbg_page_count(int) ;
@@ -84,6 +84,7 @@ extern ihk_spinlock_t cpuid_head_lock;
int ptrace_detach(int pid, int data);
extern void procfs_create_thread(struct thread *);
extern void procfs_delete_thread(struct thread *);
+extern void dbg_page_count(int);
struct list_head resource_set_list;
mcs_rwlock_lock_t resource_set_lock;
@@ -2769,6 +2770,8 @@ static void idle(void)
@@ -2773,6 +2774,8 @@ static void idle(void)
v->status = CPU_STATUS_IDLE;
cpu_enable_interrupt();
@ -77,7 +77,7 @@ index bb15608..25daa0e 100644
while (1) {
cpu_local_var(current)->status = PS_STOPPED;
schedule();
@@ -3304,6 +3307,8 @@ redo:
@@ -3287,6 +3290,8 @@ void schedule(void)
if ((last != NULL) && (last->status == PS_EXITED)) {
release_thread(last);
@ -87,10 +87,10 @@ index bb15608..25daa0e 100644
/* Have we migrated to another core meanwhile? */
diff --git kernel/syscall.c kernel/syscall.c
index d51cdeb..1073060 100644
index 466ca89..5aa3449 100644
--- kernel/syscall.c
+++ kernel/syscall.c
@@ -9186,6 +9186,35 @@ SYSCALL_DECLARE(resume_threads)
@@ -9287,6 +9287,35 @@ SYSCALL_DECLARE(util_register_desc)
return 0;
}

View File

@ -1,53 +1,13 @@
#!/bin/sh
BIN=
SBIN=
OSTEST=
BOOTPARAM="-c 1-7 -m 2G@0"
USELTP=0
USEOSTEST=1
if [ -f ../../../config.h ]; then
str=`grep "^#define BINDIR " ../../../config.h | head -1 | sed 's/^#define BINDIR /BINDIR=/'`
eval $str
fi
BOOTPARAM="-c 1-7 -m 4G@0"
. ../../common.sh
if [ -f ../../../Makefile ]; then
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
eval $str
fi
$MCEXEC ./C765
if [ "x$BINDIR" = x ];then
BINDIR="$BIN"
fi
if [ "x$SBINDIR" = x ];then
SBINDIR="$SBIN"
fi
if [ -f $HOME/ostest/bin/test_mck ]; then
OSTESTDIR="$HOME/ostest"
fi
if [ "x$OSTESTDIR" = x ]; then
OSTESTDIR="$OSTEST"
fi
if [ ! -x "$OSTESTDIR"/bin/test_mck ]; then
echo no ostest found >&2
exit 1
fi
if lsmod | grep mcctrl > /dev/null 2>&1; then
sudo $SBINDIR/mcstop+release.sh
fi
if ! lsmod | grep mcctrl > /dev/null 2>&1; then
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
fi
if ! lsmod | grep mcctrl > /dev/null 2>&1; then
echo no mcctrl.ko found >&2
exit 1
fi
$BINDIR/mcexec ./C765
$BINDIR/mcexec "$OSTESTDIR"/bin/test_mck -s mem_limits -n 0 -- -f mmap -s 7340032 -c 1
$MCEXEC $TESTMCK -s mem_limits -n 0 -- -f mmap -s 7340032 -c 1
if $SBINDIR/ihkosctl 0 kmsg | grep -i bad > /dev/null 2>&1; then
$SBINDIR/ihkosctl 0 kmsg

View File

@ -39,10 +39,10 @@ C765.patch 指定されたメモリのページサイズと共有状況を調べ
□ 実行手順
$ make test
実行できない場合は、C765.shの以下の行を適切に書き換えた後に実行。
BIN= mcexec が存在するパス
SBIN= mcreboot.sh が存在するパス
OSTEST= ostest が存在するパス
McKernelのインストール先や、OSTEST, LTPの配置場所は、
$HOME/.mck_test_config を参照している
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
$HOMEにコピーし、適宜編集する
□ 実行結果
C765.txt 参照。