test: Fix user_space, testing use of copy_from_user / copy_to_user
Change-Id: I2caef1ba6597f693dc4f773ef8fedbd837c45ce6
This commit is contained in:
@ -12,17 +12,17 @@ User spaceテストについて
|
||||
mckernel/test/user_space/patch/
|
||||
以下にテストとパッチの対応を示します。
|
||||
|
||||
パッチファイル名 対象システムコール テストID
|
||||
syscall.patch perf_event_open perf_001-perf_008
|
||||
syscall.patch futex futes_001-futex_011
|
||||
syscall.patch process_vm_readv pvr_001-pvr_033
|
||||
syscall.patch process_vm_writev pvw_001-pvw_031
|
||||
syscall.patch move_pages mpo_001-mp_012
|
||||
pager_copy_from.patch swapout so_001-so_006
|
||||
pager_copy_to_01.patch swapout so_007-so_013
|
||||
pager_copy_to_02.patch swapout so_014-so_022
|
||||
なし swapout so_023-so_025
|
||||
qlmpilib.patch swapout so_026
|
||||
パッチファイル名 対象システムコール テストID
|
||||
syscall.patch perf_event_open perf_001-perf_008
|
||||
syscall.patch futex futes_001-futex_011
|
||||
syscall.patch process_vm_readv pvr_001-pvr_033
|
||||
syscall.patch process_vm_writev pvw_001-pvw_031
|
||||
syscall.patch move_pages mpo_001-mp_012
|
||||
pager_copy_from.patch swapout so_001-so_006
|
||||
pager_copy_to_01.patch swapout so_007-so_013
|
||||
pager_copy_to_02.patch swapout so_014-so_022
|
||||
なし swapout so_023-so_025
|
||||
qlmpilib.patch swapout so_026
|
||||
|
||||
1.3 パッチの適用
|
||||
mckernelディレクトリで以下コマンドを実行してパッチを当ててください。
|
||||
@ -68,20 +68,7 @@ User spaceテストについて
|
||||
3. 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
|
||||
MCMOD_DIR mckernelのディレクトリ
|
||||
START ql_mpiexec_startのパスqlmpiテスト用
|
||||
FINALIZE ql_mpiexec_finalizeのパスqlmpiテスト用
|
||||
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
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel reboot ...."
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done."
|
||||
}
|
||||
|
||||
@ -71,7 +71,7 @@ sudo ${MCK_DIR}/sbin/ihkosctl 0 kmsg >./result/futex_wait01.kmsg
|
||||
#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
|
||||
rc=$?
|
||||
if [ ${rc} -eq 0 ]; then
|
||||
|
||||
@ -1 +1 @@
|
||||
futex_wait_bitset02 1 TPASS :
|
||||
futex_wait_bitset02 1 TFAIL :
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
source ./config
|
||||
echo $TEST_DIR
|
||||
echo $MCPATH
|
||||
echo $LTP_PATH
|
||||
TEST_DIR=`pwd -P`
|
||||
|
||||
auto_flg=0
|
||||
if [ $# = 1 ]; then
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
source ./config
|
||||
TEST_DIR=`pwd -P`
|
||||
|
||||
auto_flg=0
|
||||
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
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel reboot ...."
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done."
|
||||
}
|
||||
|
||||
@ -32,7 +32,8 @@ function ng_out() {
|
||||
function ltp_test() {
|
||||
TEST_NAME=$1
|
||||
#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 確認
|
||||
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
||||
@ -56,12 +57,7 @@ TEST_CODE=001
|
||||
TEST_PREFIX=mp_
|
||||
|
||||
ME=`whoami`
|
||||
if [ $# -ne 2 ]; then
|
||||
source ./config
|
||||
else
|
||||
MCPATH=$1
|
||||
LTP_EXE_DIR=$2/move_pages
|
||||
fi
|
||||
source ${HOME}/.mck_test_config
|
||||
|
||||
mkdir -p ./result
|
||||
|
||||
@ -70,10 +66,11 @@ ltp_test "move_pages01"
|
||||
|
||||
reboot "-m256m@0,256m@1"
|
||||
#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を保存
|
||||
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引数のアドレスが正しく引き継いでいることを確認
|
||||
#システムコールの引数のアドレスを取得
|
||||
|
||||
@ -6,7 +6,7 @@ index 29dbd04..66f77b5 100644
|
||||
struct vm_range *range;
|
||||
struct mcs_rwlock_node_irqsave 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
|
||||
|
||||
/* Sanity checks */
|
||||
@ -15,7 +15,7 @@ index 29dbd04..66f77b5 100644
|
||||
int count = mpsr->count;
|
||||
struct page_table *save_pt;
|
||||
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
|
||||
|
||||
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
|
||||
--- a/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);
|
||||
|
||||
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) {
|
||||
queue_unlock(q, *hb);
|
||||
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);
|
||||
if (!event) {
|
||||
@@ -5340,6 +5342,9 @@ SYSCALL_DECLARE(futex)
|
||||
struct ihk_os_cpu_monitor *monitor = cpu_local_var(monitor);
|
||||
@@ -5689,6 +5689,13 @@ long do_futex(int n, unsigned long arg0, unsigned long arg1,
|
||||
monitor->status = IHK_OS_MONITOR_KERNEL_HEAVY;
|
||||
}
|
||||
|
||||
monitor->status = IHK_OS_MONITOR_KERNEL_HEAVY;
|
||||
+ {
|
||||
+ 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
|
||||
+ }
|
||||
+
|
||||
+ kprintf("%s:*uaddr:%d,uaddr:%x\n",
|
||||
+ __FUNCTION__, *uaddr, uaddr); //PATCH
|
||||
|
||||
/* Cross-address space futex? */
|
||||
if (op & FUTEX_PRIVATE_FLAG) {
|
||||
fshared = 0;
|
||||
@@ -8720,6 +8725,8 @@ SYSCALL_DECLARE(move_pages)
|
||||
int ret = 0;
|
||||
|
||||
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
|
||||
|
||||
t_s = rdtsc();
|
||||
@ -69,7 +77,7 @@ index e7fed5d..9c174c9 100644
|
||||
(const struct iovec *)ihk_mc_syscall_arg3(ctx);
|
||||
unsigned long riovcnt = ihk_mc_syscall_arg4(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
|
||||
|
||||
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);
|
||||
unsigned long riovcnt = ihk_mc_syscall_arg4(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
|
||||
|
||||
return do_process_vm_read_writev(pid, local_iov, liovcnt,
|
||||
|
||||
@ -12,10 +12,12 @@ else
|
||||
fi
|
||||
cd $MC_HOME
|
||||
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 install >> /tmp/install.log
|
||||
|
||||
# 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
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel reboot ...."
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
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
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel reboot ...."
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done."
|
||||
}
|
||||
|
||||
@ -37,7 +37,8 @@ function ltp_test() {
|
||||
TP_NAME=$2
|
||||
fi
|
||||
#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 確認
|
||||
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
||||
@ -61,20 +62,16 @@ TEST_CODE=001
|
||||
TEST_PREFIX=pvr_
|
||||
|
||||
ME=`whoami`
|
||||
if [ $# -ne 2 ]; then
|
||||
source ./config
|
||||
else
|
||||
MCPATH=$1
|
||||
LTP_EXE_DIR=$2/process_vm
|
||||
fi
|
||||
source ${HOME}/.mck_test_config
|
||||
|
||||
mkdir -p ./result
|
||||
|
||||
#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を保存
|
||||
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引数のアドレスが正しく引き継いでいることを確認
|
||||
#システムコールの引数のアドレスを取得
|
||||
|
||||
@ -10,11 +10,11 @@ function reboot() {
|
||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel reboot ...."
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done."
|
||||
}
|
||||
|
||||
@ -37,7 +37,8 @@ function ltp_test() {
|
||||
TP_NAME=$2
|
||||
fi
|
||||
#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 確認
|
||||
NUM=`cat ./test_cases/${TEST_NAME}.txt |wc -l`
|
||||
@ -61,21 +62,17 @@ TEST_CODE=001
|
||||
TEST_PREFIX=pvw_
|
||||
|
||||
ME=`whoami`
|
||||
if [ $# -ne 2 ]; then
|
||||
source ./config
|
||||
else
|
||||
MCPATH=$1
|
||||
LTP_EXE_DIR=$2/process_vm
|
||||
fi
|
||||
source ${HOME}/.mck_test_config
|
||||
|
||||
mkdir -p ./result
|
||||
|
||||
reboot
|
||||
#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を保存
|
||||
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引数のアドレスが正しく引き継いでいることを確認
|
||||
#システムコールの引数のアドレスを取得
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
MCMOD_DIR=/home/iizuka/mckernel
|
||||
source ${HOME}/.mck_test_config
|
||||
|
||||
START=${MCMOD_DIR}/bin/ql_mpiexec_start
|
||||
FINALIZE=${MCMOD_DIR}/bin/ql_mpiexec_finalize
|
||||
START=${MCK_DIR}/bin/ql_mpiexec_start
|
||||
FINALIZE=${MCK_DIR}/bin/ql_mpiexec_finalize
|
||||
|
||||
USR_PRG_A=../../qlmpi/qlmpi_testsuite/usr_prg_A
|
||||
USR_PRG_B=../../qlmpi/qlmpi_testsuite/usr_prg_B
|
||||
|
||||
@ -27,11 +27,11 @@ function reboot() {
|
||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel booting... " 1>&2
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done." 1>&2
|
||||
}
|
||||
TEST_PARAM_FILE=$1
|
||||
|
||||
@ -10,11 +10,11 @@ function reboot() {
|
||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel booting... " 1>&2
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done." 1>&2
|
||||
}
|
||||
|
||||
@ -39,16 +39,14 @@ ME=`whoami`
|
||||
# read config
|
||||
source ./config
|
||||
|
||||
MCPATH=${MCMOD_DIR}
|
||||
|
||||
mkdir -p ./result
|
||||
|
||||
reboot
|
||||
#programを実行 logを保存
|
||||
${MCPATH}/bin/mcexec ./swaptest 2 >./result/swapout_copy_from.log
|
||||
${MCK_DIR}/bin/mcexec ./swaptest 2 >./result/swapout_copy_from.log
|
||||
|
||||
#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.
|
||||
#arealist_update i
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ${HOME}/.mck_test_config
|
||||
|
||||
# Functions
|
||||
function reboot() {
|
||||
count=`pgrep -c -f 'mcexec '`
|
||||
@ -12,11 +10,11 @@ function reboot() {
|
||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel booting... " 1>&2
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done." 1>&2
|
||||
}
|
||||
|
||||
@ -41,16 +39,14 @@ ME=`whoami`
|
||||
# read config
|
||||
source ./config
|
||||
|
||||
MCPATH=${MCMOD_DIR}
|
||||
|
||||
mkdir -p result
|
||||
|
||||
reboot
|
||||
#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を保存
|
||||
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.
|
||||
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
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel booting... " 1>&2
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done." 1>&2
|
||||
}
|
||||
|
||||
@ -39,16 +39,14 @@ ME=`whoami`
|
||||
# read config
|
||||
source ./config
|
||||
|
||||
MCPATH=${MCMOD_DIR}
|
||||
|
||||
mkdir -p ./result
|
||||
|
||||
reboot
|
||||
#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を保存
|
||||
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
|
||||
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
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
sudo ${MCK_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel booting... " 1>&2
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
sudo ${MCK_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done." 1>&2
|
||||
}
|
||||
|
||||
@ -39,16 +39,14 @@ ME=`whoami`
|
||||
# read config
|
||||
source ./config
|
||||
|
||||
MCPATH=${MCMOD_DIR}
|
||||
|
||||
mkdir -p result
|
||||
|
||||
reboot
|
||||
#programを実行 logを保存
|
||||
${MCPATH}/bin/mcexec ./swaptest 2 >./result/swapout_normal.log
|
||||
${MCK_DIR}/bin/mcexec ./swaptest 2 >./result/swapout_normal.log
|
||||
|
||||
#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)
|
||||
grep "^swapout returns: 0$" ./result/swapout_normal.log
|
||||
|
||||
Reference in New Issue
Block a user