test: Fix user_space, testing use of copy_from_user / copy_to_user
Change-Id: I2caef1ba6597f693dc4f773ef8fedbd837c45ce6
This commit is contained in:
@ -68,20 +68,7 @@ User spaceテストについて
|
|||||||
3. configファイル
|
3. configファイル
|
||||||
configファイルは各テストディレクトリにあります。各ディレクトリのシェルから
|
configファイルは各テストディレクトリにあります。各ディレクトリのシェルから
|
||||||
参照されます。
|
参照されます。
|
||||||
user_space/config
|
|
||||||
MCMOD_DIR mckernelのディレクトリ
|
|
||||||
SRC_PATH ソースディレクトリ
|
|
||||||
TEST_DIR テストプログラムがあるディレクトリ
|
|
||||||
|
|
||||||
user_space/perf_event_open/config
|
|
||||||
user_space/futex/config
|
|
||||||
user_space/process_vm/config
|
|
||||||
user_space/move_pages/config
|
|
||||||
MCPATH mckernelのディレクトリ
|
|
||||||
LTP_EXE_DIR LTPの実行ファイルがあるディレクトリ
|
|
||||||
|
|
||||||
user_space/swapout/config
|
user_space/swapout/config
|
||||||
MCMOD_DIR mckernelのディレクトリ
|
|
||||||
START ql_mpiexec_startのパスqlmpiテスト用
|
START ql_mpiexec_startのパスqlmpiテスト用
|
||||||
FINALIZE ql_mpiexec_finalizeのパスqlmpiテスト用
|
FINALIZE ql_mpiexec_finalizeのパスqlmpiテスト用
|
||||||
USR_PRG_A qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
|
USR_PRG_A qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
|
||||||
@ -1,4 +0,0 @@
|
|||||||
MCMOD_DIR=/home/iizuka/mckernel
|
|
||||||
SRC_PATH=/home/iizuka/src/mckernel
|
|
||||||
TEST_DIR=/home/iizuka/src/mckernel/test/user_space
|
|
||||||
|
|
||||||
@ -10,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel reboot ...."
|
echo -n "mckernel reboot ...."
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done."
|
echo "done."
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/futex_wait01.kmsg
|
|||||||
#futex-001 アドレスが正しく引き継いでいることを確認
|
#futex-001 アドレスが正しく引き継いでいることを確認
|
||||||
|
|
||||||
#システムコールの引数のアドレスを取得
|
#システムコールの引数のアドレスを取得
|
||||||
sys_addr=`grep "sys_futex" ./result/futex_wait01.kmsg |head -n 1 |cut -d "," -f 2`
|
sys_addr=`grep "do_futex" ./result/futex_wait01.kmsg |head -n 1 |cut -d "," -f 2`
|
||||||
grep "get_futex_value_locked" ./result/futex_wait01.kmsg | head -n 1 | grep ${sys_addr} >/dev/null
|
grep "get_futex_value_locked" ./result/futex_wait01.kmsg | head -n 1 | grep ${sys_addr} >/dev/null
|
||||||
rc=$?
|
rc=$?
|
||||||
if [ ${rc} -eq 0 ]; then
|
if [ ${rc} -eq 0 ]; then
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
futex_wait_bitset02 1 TPASS :
|
futex_wait_bitset02 1 TFAIL :
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
source ./config
|
TEST_DIR=`pwd -P`
|
||||||
echo $TEST_DIR
|
|
||||||
echo $MCPATH
|
|
||||||
echo $LTP_PATH
|
|
||||||
|
|
||||||
auto_flg=0
|
auto_flg=0
|
||||||
if [ $# = 1 ]; then
|
if [ $# = 1 ]; then
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
source ./config
|
TEST_DIR=`pwd -P`
|
||||||
|
|
||||||
auto_flg=0
|
auto_flg=0
|
||||||
if [ $# = 1 ]; then
|
if [ $# = 1 ]; then
|
||||||
|
|||||||
@ -1,2 +0,0 @@
|
|||||||
MCPATH=/home/iizuka/mckernel
|
|
||||||
LTP_EXE_DIR=/home/iizuka/LTP/move_pages
|
|
||||||
@ -10,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel reboot ...."
|
echo -n "mckernel reboot ...."
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done."
|
echo "done."
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,7 +32,8 @@ function ng_out() {
|
|||||||
function ltp_test() {
|
function ltp_test() {
|
||||||
TEST_NAME=$1
|
TEST_NAME=$1
|
||||||
#LTP programを実行 logを保存
|
#LTP programを実行 logを保存
|
||||||
sudo ${MCPATH}/bin/mcexec ${LTP_EXE_DIR}/${TEST_NAME} >./result/${TEST_NAME}.log
|
sudo ${MCK_DIR}/bin/mcexec ${LTP}/testcases/bin/${TEST_NAME} > \
|
||||||
|
./result/${TEST_NAME}.log
|
||||||
|
|
||||||
#LTP log 確認
|
#LTP log 確認
|
||||||
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
||||||
@ -56,12 +57,7 @@ TEST_CODE=001
|
|||||||
TEST_PREFIX=mp_
|
TEST_PREFIX=mp_
|
||||||
|
|
||||||
ME=`whoami`
|
ME=`whoami`
|
||||||
if [ $# -ne 2 ]; then
|
source ${HOME}/.mck_test_config
|
||||||
source ./config
|
|
||||||
else
|
|
||||||
MCPATH=$1
|
|
||||||
LTP_EXE_DIR=$2/move_pages
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p ./result
|
mkdir -p ./result
|
||||||
|
|
||||||
@ -70,10 +66,11 @@ ltp_test "move_pages01"
|
|||||||
|
|
||||||
reboot "-m256m@0,256m@1"
|
reboot "-m256m@0,256m@1"
|
||||||
#LTP programを実行 logを保存
|
#LTP programを実行 logを保存
|
||||||
sudo ${MCPATH}/bin/mcexec ${LTP_EXE_DIR}/move_pages02 >./result/move_pages02.log
|
sudo ${MCK_DIR}/bin/mcexec ${LTP}/testcases/bin/move_pages02 > \
|
||||||
|
./result/move_pages02.log
|
||||||
|
|
||||||
#kmsgを保存
|
#kmsgを保存
|
||||||
sudo ${MCPATH}/sbin/ihkosctl 0 kmsg >./result/move_pages02.kmsg
|
sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/move_pages02.kmsg
|
||||||
|
|
||||||
#move_pages-002 第3引数のアドレスが正しく引き継いでいることを確認
|
#move_pages-002 第3引数のアドレスが正しく引き継いでいることを確認
|
||||||
#システムコールの引数のアドレスを取得
|
#システムコールの引数のアドレスを取得
|
||||||
|
|||||||
@ -6,7 +6,7 @@ index 29dbd04..66f77b5 100644
|
|||||||
struct vm_range *range;
|
struct vm_range *range;
|
||||||
struct mcs_rwlock_node_irqsave lock;
|
struct mcs_rwlock_node_irqsave lock;
|
||||||
struct mcs_rwlock_node update_lock;
|
struct mcs_rwlock_node update_lock;
|
||||||
+ kprintf("%s: arg2_addr:%x,arg4_addr:%x\n",
|
+ kprintf("%s: arg2_addr:%lx,arg4_addr:%lx\n",
|
||||||
+ __FUNCTION__, local_iov, remote_iov); //PATCH
|
+ __FUNCTION__, local_iov, remote_iov); //PATCH
|
||||||
|
|
||||||
/* Sanity checks */
|
/* Sanity checks */
|
||||||
@ -15,7 +15,7 @@ index 29dbd04..66f77b5 100644
|
|||||||
int count = mpsr->count;
|
int count = mpsr->count;
|
||||||
struct page_table *save_pt;
|
struct page_table *save_pt;
|
||||||
extern struct page_table *get_init_page_table(void);
|
extern struct page_table *get_init_page_table(void);
|
||||||
+ kprintf("%s: mpsr->user_virt_addr:%x,mpsr->user_nodes:%x,mpsr->user_status:%x\n",
|
+ kprintf("%s: mpsr->user_virt_addr:%lx,mpsr->user_nodes:%lx,mpsr->user_status:%lx\n",
|
||||||
+ __FUNCTION__, mpsr->user_virt_addr, mpsr->user_nodes, mpsr->user_status); //PATCH
|
+ __FUNCTION__, mpsr->user_virt_addr, mpsr->user_nodes, mpsr->user_status); //PATCH
|
||||||
|
|
||||||
i_s = (count / nr_cpus) * cpu_index;
|
i_s = (count / nr_cpus) * cpu_index;
|
||||||
@ -24,12 +24,16 @@ diff --git a/kernel/futex.c b/kernel/futex.c
|
|||||||
index 495ee50..a7d08e2 100644
|
index 495ee50..a7d08e2 100644
|
||||||
--- a/kernel/futex.c
|
--- a/kernel/futex.c
|
||||||
+++ b/kernel/futex.c
|
+++ b/kernel/futex.c
|
||||||
@@ -749,6 +749,8 @@ static int futex_wait_setup(uint32_t __user *uaddr, uint32_t val, int fshared,
|
@@ -749,6 +749,12 @@ static int futex_wait_setup(uint32_t __user *uaddr, uint32_t val, int fshared,
|
||||||
*hb = queue_lock(q);
|
*hb = queue_lock(q);
|
||||||
|
|
||||||
ret = get_futex_value_locked(&uval, uaddr);
|
ret = get_futex_value_locked(&uval, uaddr);
|
||||||
+ kprintf("get_futex_value_locked: uval:%d,*uaddr:%d,uaddr:%x\n",
|
+ {
|
||||||
+ uval, *uaddr, uaddr); //PATCH
|
+ uint32_t uval_from_uaddr;
|
||||||
|
+ copy_from_user(&uval_from_uaddr, uaddr, sizeof(uint32_t));
|
||||||
|
+ kprintf("get_futex_value_locked: uval:%d,*uaddr:%d,uaddr:%lx\n",
|
||||||
|
+ uval, uval_from_uaddr, uaddr); //PATCH
|
||||||
|
+ }
|
||||||
if (ret) {
|
if (ret) {
|
||||||
queue_unlock(q, *hb);
|
queue_unlock(q, *hb);
|
||||||
put_futex_key(fshared, &q->key);
|
put_futex_key(fshared, &q->key);
|
||||||
@ -46,21 +50,25 @@ index e7fed5d..9c174c9 100644
|
|||||||
|
|
||||||
event = kmalloc(sizeof(struct mc_perf_event), IHK_MC_AP_NOWAIT);
|
event = kmalloc(sizeof(struct mc_perf_event), IHK_MC_AP_NOWAIT);
|
||||||
if (!event) {
|
if (!event) {
|
||||||
@@ -5340,6 +5342,9 @@ SYSCALL_DECLARE(futex)
|
@@ -5689,6 +5689,13 @@ long do_futex(int n, unsigned long arg0, unsigned long arg1,
|
||||||
struct ihk_os_cpu_monitor *monitor = cpu_local_var(monitor);
|
|
||||||
|
|
||||||
monitor->status = IHK_OS_MONITOR_KERNEL_HEAVY;
|
monitor->status = IHK_OS_MONITOR_KERNEL_HEAVY;
|
||||||
+
|
}
|
||||||
+ kprintf("%s:*uaddr:%d,uaddr:%x\n",
|
|
||||||
+ __FUNCTION__, *uaddr, uaddr); //PATCH
|
|
||||||
|
|
||||||
|
+ {
|
||||||
|
+ uint32_t uval_from_uaddr;
|
||||||
|
+ copy_from_user(&uval_from_uaddr, uaddr, sizeof(uint32_t));
|
||||||
|
+ kprintf("%s:*uaddr:%d,uaddr:%lx\n",
|
||||||
|
+ __FUNCTION__, uval_from_uaddr, uaddr); //PATCH
|
||||||
|
+ }
|
||||||
|
+
|
||||||
/* Cross-address space futex? */
|
/* Cross-address space futex? */
|
||||||
if (op & FUTEX_PRIVATE_FLAG) {
|
if (op & FUTEX_PRIVATE_FLAG) {
|
||||||
|
fshared = 0;
|
||||||
@@ -8720,6 +8725,8 @@ SYSCALL_DECLARE(move_pages)
|
@@ -8720,6 +8725,8 @@ SYSCALL_DECLARE(move_pages)
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
unsigned long t_s, t_e;
|
unsigned long t_s, t_e;
|
||||||
+ kprintf("%s: user_virt_addr:%x,user_nodes:%x,user_status:%x\n",
|
+ kprintf("%s: user_virt_addr:%lx,user_nodes:%lx,user_status:%lx\n",
|
||||||
+ __FUNCTION__, user_virt_addr, user_nodes, user_status); //PATCH
|
+ __FUNCTION__, user_virt_addr, user_nodes, user_status); //PATCH
|
||||||
|
|
||||||
t_s = rdtsc();
|
t_s = rdtsc();
|
||||||
@ -69,7 +77,7 @@ index e7fed5d..9c174c9 100644
|
|||||||
(const struct iovec *)ihk_mc_syscall_arg3(ctx);
|
(const struct iovec *)ihk_mc_syscall_arg3(ctx);
|
||||||
unsigned long riovcnt = ihk_mc_syscall_arg4(ctx);
|
unsigned long riovcnt = ihk_mc_syscall_arg4(ctx);
|
||||||
unsigned long flags = ihk_mc_syscall_arg5(ctx);
|
unsigned long flags = ihk_mc_syscall_arg5(ctx);
|
||||||
+ kprintf("%s: arg2_addr:%x,arg4_addr:%x\n",
|
+ kprintf("%s: arg2_addr:%lx,arg4_addr:%lx\n",
|
||||||
+ __FUNCTION__, local_iov, remote_iov); //PATCH
|
+ __FUNCTION__, local_iov, remote_iov); //PATCH
|
||||||
|
|
||||||
return do_process_vm_read_writev(pid, local_iov, liovcnt,
|
return do_process_vm_read_writev(pid, local_iov, liovcnt,
|
||||||
@ -78,7 +86,7 @@ index e7fed5d..9c174c9 100644
|
|||||||
(const struct iovec *)ihk_mc_syscall_arg3(ctx);
|
(const struct iovec *)ihk_mc_syscall_arg3(ctx);
|
||||||
unsigned long riovcnt = ihk_mc_syscall_arg4(ctx);
|
unsigned long riovcnt = ihk_mc_syscall_arg4(ctx);
|
||||||
unsigned long flags = ihk_mc_syscall_arg5(ctx);
|
unsigned long flags = ihk_mc_syscall_arg5(ctx);
|
||||||
+ kprintf("%s: arg2_addr:%x,arg4_addr:%x\n",
|
+ kprintf("%s: arg2_addr:%lx,arg4_addr:%lx\n",
|
||||||
+ __FUNCTION__, local_iov, remote_iov); //PATCH
|
+ __FUNCTION__, local_iov, remote_iov); //PATCH
|
||||||
|
|
||||||
return do_process_vm_read_writev(pid, local_iov, liovcnt,
|
return do_process_vm_read_writev(pid, local_iov, liovcnt,
|
||||||
|
|||||||
@ -12,10 +12,12 @@ else
|
|||||||
fi
|
fi
|
||||||
cd $MC_HOME
|
cd $MC_HOME
|
||||||
make clean
|
make clean
|
||||||
./configure --prefix=${MCMOD_DIR} --with-target=smp-x86 --with-mpi=/usr/lib64/mpich-3.2 --enable-qlmpi $* >/tmp/install.log
|
./configure --prefix=${MCK_DIR} --with-target=smp-x86 \
|
||||||
|
--with-mpi=/usr/lib64/mpich-3.2 --enable-qlmpi $* > \
|
||||||
|
/tmp/install.log
|
||||||
make >> /tmp/install.log
|
make >> /tmp/install.log
|
||||||
make install >> /tmp/install.log
|
make install >> /tmp/install.log
|
||||||
|
|
||||||
# for wallaby
|
# for wallaby
|
||||||
chmod 777 ${MCMOD_DIR}/etc
|
chmod 777 ${MCK_DIR}/etc
|
||||||
|
|
||||||
|
|||||||
@ -10,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel reboot ...."
|
echo -n "mckernel reboot ...."
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done."
|
echo "done."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,2 +0,0 @@
|
|||||||
MCPATH=/home/iizuka/mckernel
|
|
||||||
LTP_EXE_DIR=/home/iizuka/LTP/process_vm
|
|
||||||
@ -10,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel reboot ...."
|
echo -n "mckernel reboot ...."
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done."
|
echo "done."
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,7 +37,8 @@ function ltp_test() {
|
|||||||
TP_NAME=$2
|
TP_NAME=$2
|
||||||
fi
|
fi
|
||||||
#LTP programを実行 logを保存
|
#LTP programを実行 logを保存
|
||||||
sudo ${MCPATH}/bin/mcexec ${LTP_EXE_DIR}/${TP_NAME} >./result/${TEST_NAME}.log
|
sudo ${MCK_DIR}/bin/mcexec ${LTP}/testcases/bin/${TP_NAME} > \
|
||||||
|
./result/${TEST_NAME}.log
|
||||||
|
|
||||||
#LTP log 確認
|
#LTP log 確認
|
||||||
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
||||||
@ -61,20 +62,16 @@ TEST_CODE=001
|
|||||||
TEST_PREFIX=pvr_
|
TEST_PREFIX=pvr_
|
||||||
|
|
||||||
ME=`whoami`
|
ME=`whoami`
|
||||||
if [ $# -ne 2 ]; then
|
source ${HOME}/.mck_test_config
|
||||||
source ./config
|
|
||||||
else
|
|
||||||
MCPATH=$1
|
|
||||||
LTP_EXE_DIR=$2/process_vm
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p ./result
|
mkdir -p ./result
|
||||||
|
|
||||||
#LTP programを実行 logを保存
|
#LTP programを実行 logを保存
|
||||||
sudo ${MCPATH}/bin/mcexec ${LTP_EXE_DIR}/process_vm01 -r >./result/process_vm_readv01.log
|
sudo ${MCK_DIR}/bin/mcexec ${LTP}/testcases/bin/process_vm01 -r > \
|
||||||
|
./result/process_vm_readv01.log
|
||||||
|
|
||||||
#kmsgを保存
|
#kmsgを保存
|
||||||
sudo ${MCPATH}/sbin/ihkosctl 0 kmsg >./result/process_vm_readv01.kmsg
|
sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/process_vm_readv01.kmsg
|
||||||
|
|
||||||
#process_vm_readv-001 第2引数のアドレスが正しく引き継いでいることを確認
|
#process_vm_readv-001 第2引数のアドレスが正しく引き継いでいることを確認
|
||||||
#システムコールの引数のアドレスを取得
|
#システムコールの引数のアドレスを取得
|
||||||
|
|||||||
@ -10,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel reboot ...."
|
echo -n "mckernel reboot ...."
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done."
|
echo "done."
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,7 +37,8 @@ function ltp_test() {
|
|||||||
TP_NAME=$2
|
TP_NAME=$2
|
||||||
fi
|
fi
|
||||||
#LTP programを実行 logを保存
|
#LTP programを実行 logを保存
|
||||||
sudo ${MCPATH}/bin/mcexec ${LTP_EXE_DIR}/${TP_NAME} >./result/${TEST_NAME}.log
|
sudo ${MCK_DIR}/bin/mcexec ${LTP}/testcases/bin/${TP_NAME} > \
|
||||||
|
./result/${TEST_NAME}.log
|
||||||
|
|
||||||
#LTP log 確認
|
#LTP log 確認
|
||||||
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
||||||
@ -61,21 +62,17 @@ TEST_CODE=001
|
|||||||
TEST_PREFIX=pvw_
|
TEST_PREFIX=pvw_
|
||||||
|
|
||||||
ME=`whoami`
|
ME=`whoami`
|
||||||
if [ $# -ne 2 ]; then
|
source ${HOME}/.mck_test_config
|
||||||
source ./config
|
|
||||||
else
|
|
||||||
MCPATH=$1
|
|
||||||
LTP_EXE_DIR=$2/process_vm
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p ./result
|
mkdir -p ./result
|
||||||
|
|
||||||
reboot
|
reboot
|
||||||
#LTP programを実行 logを保存
|
#LTP programを実行 logを保存
|
||||||
sudo ${MCPATH}/bin/mcexec ${LTP_EXE_DIR}/process_vm01 -w >./result/process_vm_writev01.log
|
sudo ${MCK_DIR}/bin/mcexec ${LTP}/testcases/bin/process_vm01 -w > \
|
||||||
|
./result/process_vm_writev01.log
|
||||||
|
|
||||||
#kmsgを保存
|
#kmsgを保存
|
||||||
sudo ${MCPATH}/sbin/ihkosctl 0 kmsg >./result/process_vm_writev01.kmsg
|
sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/process_vm_writev01.kmsg
|
||||||
|
|
||||||
#process_vm_writev-001 第2引数のアドレスが正しく引き継いでいることを確認
|
#process_vm_writev-001 第2引数のアドレスが正しく引き継いでいることを確認
|
||||||
#システムコールの引数のアドレスを取得
|
#システムコールの引数のアドレスを取得
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
MCMOD_DIR=/home/iizuka/mckernel
|
source ${HOME}/.mck_test_config
|
||||||
|
|
||||||
START=${MCMOD_DIR}/bin/ql_mpiexec_start
|
START=${MCK_DIR}/bin/ql_mpiexec_start
|
||||||
FINALIZE=${MCMOD_DIR}/bin/ql_mpiexec_finalize
|
FINALIZE=${MCK_DIR}/bin/ql_mpiexec_finalize
|
||||||
|
|
||||||
USR_PRG_A=../../qlmpi/qlmpi_testsuite/usr_prg_A
|
USR_PRG_A=../../qlmpi/qlmpi_testsuite/usr_prg_A
|
||||||
USR_PRG_B=../../qlmpi/qlmpi_testsuite/usr_prg_B
|
USR_PRG_B=../../qlmpi/qlmpi_testsuite/usr_prg_B
|
||||||
|
|||||||
@ -27,11 +27,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel booting... " 1>&2
|
echo -n "mckernel booting... " 1>&2
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done." 1>&2
|
echo "done." 1>&2
|
||||||
}
|
}
|
||||||
TEST_PARAM_FILE=$1
|
TEST_PARAM_FILE=$1
|
||||||
|
|||||||
@ -10,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel booting... " 1>&2
|
echo -n "mckernel booting... " 1>&2
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done." 1>&2
|
echo "done." 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,16 +39,14 @@ ME=`whoami`
|
|||||||
# read config
|
# read config
|
||||||
source ./config
|
source ./config
|
||||||
|
|
||||||
MCPATH=${MCMOD_DIR}
|
|
||||||
|
|
||||||
mkdir -p ./result
|
mkdir -p ./result
|
||||||
|
|
||||||
reboot
|
reboot
|
||||||
#programを実行 logを保存
|
#programを実行 logを保存
|
||||||
${MCPATH}/bin/mcexec ./swaptest 2 >./result/swapout_copy_from.log
|
${MCK_DIR}/bin/mcexec ./swaptest 2 >./result/swapout_copy_from.log
|
||||||
|
|
||||||
#kmsgを保存
|
#kmsgを保存
|
||||||
sudo ${MCPATH}/sbin/ihkosctl 0 kmsg >./result/swapout_copy_from.kmsg
|
sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/swapout_copy_from.kmsg
|
||||||
|
|
||||||
#swapout001 arealist_update i and count check.
|
#swapout001 arealist_update i and count check.
|
||||||
#arealist_update i
|
#arealist_update i
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ${HOME}/.mck_test_config
|
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
function reboot() {
|
function reboot() {
|
||||||
count=`pgrep -c -f 'mcexec '`
|
count=`pgrep -c -f 'mcexec '`
|
||||||
@ -12,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel booting... " 1>&2
|
echo -n "mckernel booting... " 1>&2
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done." 1>&2
|
echo "done." 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,16 +39,14 @@ ME=`whoami`
|
|||||||
# read config
|
# read config
|
||||||
source ./config
|
source ./config
|
||||||
|
|
||||||
MCPATH=${MCMOD_DIR}
|
|
||||||
|
|
||||||
mkdir -p result
|
mkdir -p result
|
||||||
|
|
||||||
reboot
|
reboot
|
||||||
#programを実行 logを保存
|
#programを実行 logを保存
|
||||||
${MCPATH}/bin/mcexec ./swaptest 2 >./result/swapout_copy_to_01.log
|
${MCK_DIR}/bin/mcexec ./swaptest 2 >./result/swapout_copy_to_01.log
|
||||||
|
|
||||||
#kmsgを保存
|
#kmsgを保存
|
||||||
sudo ${MCPATH}/sbin/ihkosctl 0 kmsg >./result/swapout_copy_to_01.kmsg
|
sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/swapout_copy_to_01.kmsg
|
||||||
|
|
||||||
#swapout007 arealist_update i and count check.
|
#swapout007 arealist_update i and count check.
|
||||||
arealist_i=`grep "arealist_update" ./result/swapout_copy_to_01.kmsg | head -n 1 | sed s/"^.*copy_to_user i:\([0-9a-f]*\),.*$"/"\1"/ `
|
arealist_i=`grep "arealist_update" ./result/swapout_copy_to_01.kmsg | head -n 1 | sed s/"^.*copy_to_user i:\([0-9a-f]*\),.*$"/"\1"/ `
|
||||||
|
|||||||
@ -10,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel booting... " 1>&2
|
echo -n "mckernel booting... " 1>&2
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done." 1>&2
|
echo "done." 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,16 +39,14 @@ ME=`whoami`
|
|||||||
# read config
|
# read config
|
||||||
source ./config
|
source ./config
|
||||||
|
|
||||||
MCPATH=${MCMOD_DIR}
|
|
||||||
|
|
||||||
mkdir -p ./result
|
mkdir -p ./result
|
||||||
|
|
||||||
reboot
|
reboot
|
||||||
#programを実行 logを保存
|
#programを実行 logを保存
|
||||||
${MCPATH}/bin/mcexec ./swaptest 2 >./result/swapout_copy_to_02.log
|
${MCK_DIR}/bin/mcexec ./swaptest 2 >./result/swapout_copy_to_02.log
|
||||||
|
|
||||||
#kmsgを保存
|
#kmsgを保存
|
||||||
sudo ${MCPATH}/sbin/ihkosctl 0 kmsg >./result/swapout_copy_to_02.kmsg
|
sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/swapout_copy_to_02.kmsg
|
||||||
|
|
||||||
#swapout014 arealist_preparewrite info[].start
|
#swapout014 arealist_preparewrite info[].start
|
||||||
start=`grep "arealist_preparewrite:.* info\[[0-9]\].start:" ./result/swapout_copy_to_02.kmsg | head -n 1 | sed s/"^.*copy_to_user info\[[0-9]\].start:\([0-9|a-f]*\),end:.*$"/"\1"/ `
|
start=`grep "arealist_preparewrite:.* info\[[0-9]\].start:" ./result/swapout_copy_to_02.kmsg | head -n 1 | sed s/"^.*copy_to_user info\[[0-9]\].start:\([0-9|a-f]*\),end:.*$"/"\1"/ `
|
||||||
|
|||||||
@ -10,11 +10,11 @@ function reboot() {
|
|||||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||||
fi
|
fi
|
||||||
# echo -n "mckernel stopping... "
|
# echo -n "mckernel stopping... "
|
||||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||||
# echo "done."
|
# echo "done."
|
||||||
#sleep 1
|
#sleep 1
|
||||||
echo -n "mckernel booting... " 1>&2
|
echo -n "mckernel booting... " 1>&2
|
||||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||||
echo "done." 1>&2
|
echo "done." 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,16 +39,14 @@ ME=`whoami`
|
|||||||
# read config
|
# read config
|
||||||
source ./config
|
source ./config
|
||||||
|
|
||||||
MCPATH=${MCMOD_DIR}
|
|
||||||
|
|
||||||
mkdir -p result
|
mkdir -p result
|
||||||
|
|
||||||
reboot
|
reboot
|
||||||
#programを実行 logを保存
|
#programを実行 logを保存
|
||||||
${MCPATH}/bin/mcexec ./swaptest 2 >./result/swapout_normal.log
|
${MCK_DIR}/bin/mcexec ./swaptest 2 >./result/swapout_normal.log
|
||||||
|
|
||||||
#kmsgを保存
|
#kmsgを保存
|
||||||
sudo ${MCPATH}/sbin/ihkosctl 0 kmsg >./result/swapout_normal.kmsg
|
sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/swapout_normal.kmsg
|
||||||
|
|
||||||
#swapout023 execute swaptest(return code)
|
#swapout023 execute swaptest(return code)
|
||||||
grep "^swapout returns: 0$" ./result/swapout_normal.log
|
grep "^swapout returns: 0$" ./result/swapout_normal.log
|
||||||
|
|||||||
Reference in New Issue
Block a user