【Issue#1176 動作確認】 □ テスト内容 1. 指摘の現象が解消されていることを確認する。 C1176T01 指摘の現象が解消されていることを、テストプログラムを用いて確認 mcexec test_mck -s getrusage -n 2 2. 修正が正しく動作することをテストプログラムを用いて確認する。 変更は以下の3点である。 (1) システムコール出口で高速化のためシグナル処理を呼び出していなかったが、 ロック無しでシグナル受信を判定後に、シグナル処理を呼び出すようにした。 (2) futex_wait 処理で高速化のためシグナル受信の判定処理をしていなかったが、 ロック無しでシグナル受信を判定し、受信していた場合にfutex_wait 処理を脱出するようにした。(その後、システムコール出口でシグナルが 処理される) (3) 高速化のためシステムコール出口での再スケジュール処理を呼び出して いなかったが、ロック無しで再スケジュール要否を判定し、再スケジュールが 必要な場合は再スケジュール処理を行うよにした。 C1176T02 システムコールオフロード中にシグナル受信し、システムコールが中断 してシグナル処理されることを確認 C1176T03 futex_wait 処理中にシグナル受信し、futex_waitが中断してシグナルが 処理されることを確認 C1176T04 2つのプロセスを同一CPUに割り当てた状態で、各々1秒sleepするとき、 それぞれのプロセスが正しく処理されることを確認。 sleep完了後にシステムコール出口で再スケジュール処理が行われる 3. 修正が既存処理に影響しないことをLTPを用いて確認する。 シグナル関連処理(正常系)を中心にテストプログラムを選定した。 C1176T05 kill01: kill の基本機能の確認 C1176T06 kill12: kill, wait, signal の組み合わせ確認 C1176T07 pause02: pause の基本機能の確認 C1176T08 sigaction01: sigaction の基本機能の確認 □ 実行手順 $ make test McKernelのインストール先や、OSTEST, LTPの配置場所は、 $HOME/.mck_test_config を参照している .mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを $HOMEにコピーし、適宜編集する □ 実行結果 C1176.txt 参照。 全ての項目が OK となっていることを確認。