User Space:swapout (this is a rebase commit to merge into development)

This commit is contained in:
Hitoshi Iizuka
2017-10-26 20:29:16 +09:00
parent 5a8d1f09e8
commit aebacb243e
51 changed files with 2649 additions and 38 deletions

91
test/user_space/ReadMe Normal file
View File

@ -0,0 +1,91 @@
User spaceテストについて
1.テストの準備
1.1 パッチファイル
テストは、修正部分にkprintfをパッチで追加し確認を行います。
パッチファイルは以下のディレクトリに格納しています。
 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
1.2 パッチの適用
mckernelディレクトリで以下コマンドを実行してパッチを当ててください。
パッチ実行後ビルドしてください。
patch -p1 < ./test/user_space/patch/XXXX.patch
(XXXX.patchはパッチファイル名)
1.3 その他プログラムのコンパイル
(1)user_space/swapoutディレクトリで、makeし、swaptest実行モジュールを作成してください。
(2)qlmpi/qlmpi_testsuiteディレクトリで、テスト用プログラムのコンパイルを実施してください。
(3)LTPプログラムの実行モジュールを準備する必要があります。
2.テストについて
user_spaceのディレクトリにあるシェルについて説明します。
2.1 システムコールテスト用シェル
go_syscall_test.sh [auto]
説明
perf_event_open,futex,process_vm_readv,process_vm_writev,move_pages
のテストを実行する。auto指定時、git reset --hard HEADコマンドで
リセット後パッチを当て、ビルド後テストを開始する。
テスト結果は、各システムコールディレクトリの下に.logファイルとして
保存する。
システムコールごと個別のテストを行う場合は、各システムコール名の
ディレクトリにあるテスト用のシェルを実行する。
2.2 swapoutテスト用シェル
go_swapout_test.sh [auto]
説明
swapoutのテストを実行する。auto指定時、git reset --hard HEADコマンドで
パッチを当て、ビルド後テストを繰り返す。
テスト結果は、swapoutディレクトリに.logファイルとして保存する。
パッチを手で当ててテストを行う場合は、swapoutディレクトリにある、
テスト用のシェルを対応するパッチを当ててから実行する。
2.3 パッチ及びビルドコマンド
patch_and_build.sh [patch_filename]
説明
git reset --hard HEADでソースをリセット後、引数で指定されたパッチを
当ててからビルドする。引数を指定しない場合は、ソースをリセットして
ビルドを行う。テスト用シェルでautoオプションを付けた場合、テスト用
シェルから本シェルを呼び出す。
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参照
USR_PRG_B qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
USR_PRG_C qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
USR_PRG_IRREG qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
4. その他
4.1 qlmpiテスト用のマシンファイルの設定
user_space/swapout/test_cases/CT01.txt
MASTER マスターードのマシン名もしくはIPアドレス
SLAVE 1ードのテストのため不要
以上