test: Refactor test programs
Change-Id: I77fec2f5f30f6fda3bda6f85ce00f1c2e7f7a9b3
This commit is contained in:
@ -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)
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 参照。
|
||||
|
||||
Reference in New Issue
Block a user