User Space:swapout (this is a rebase commit to merge into development)
This commit is contained in:
91
test/user_space/ReadMe
Normal file
91
test/user_space/ReadMe
Normal 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ノードのテストのため不要
|
||||
以上
|
||||
Reference in New Issue
Block a user