【Issue#1029 動作確認】
Issue#1029が解決され、既存機能にも影響がないことをストレステスト用いた確認（1項目）と、
schedule()の基本動作確認（12項目）の計13項目のテストによって確認した。

1. ストレステストを用いた確認
・Issue#1029 (https://postpeta.pccluster.org/redmine/issues/1029)
報告で使用されたテストプログラムを用いて、現象が再現しないことを確認した。
 
2. schedule()の基本動作確認
schedule()実行時のコンテキストスイッチ前thread(prev)と、
runqに積まれている実行待ちthreadの状態の組み合わせで、12項目のテストを実施した。

基本動作確認の詳細を以下に示す。

(1) ファイルの説明
  1029.patch	動作確認用デバッグプリントを追加するパッチファイル
  sched_test.c	修正対象のschedule()の動作を確認するプログラム
				複数の子プロセスをfork()し、それぞれの子プロセスでsched_setaffinity()を行う
  go_test.c		schedule()の動作確認テストを実施するプログラム
				sched_testプログラムを並列実行する
  result.log	go_testプログラムの実行結果

(2) テストの実行方法
以下の手順でテストを実行する
	1. 1029.patch をMcKernelのソースコードに適用し、ビルドとインストールを行う
	2. ${HOME}/.mck_test_config.mkのMCK_DIR変数の内容を、McKernelがインストールされているディレクトリに変更する
	3. <mckernel-install>/bin/mcreboot.sh -c 2-7 -m 2G -O
	4. sh make test を実行する

(3) テスト項目
schedule()実行時のコンテキストスイッチ前thread(prev)と、
runqに積まれている実行待ちthreadの状態の以下の組み合わせで、
schedule()が想定どおりの動作をすることを確認する。

・prevがidleのケース
CT_001: runqが空 
        ⇒ コンテキストスイッチを行わない
CT_002: runqに実行待ちのthreadが存在し、且つ、そのthreadが1度も実行状態になっていない
        ⇒ 非idleのthreadにスイッチする
CT_003: runqに実行待ちのthreadが存在し、且つ、そのthreadが実行状態になったことがある
        ⇒ 非idleのthreadにスイッチする

・schedule時点で当該CPUのCPU_FLAGS_NEED_MIGRATEが活性化しているケース
CT_004: runqが空 
        ⇒ idleにスイッチする
CT_005: runqに実行待ちのthreadが存在し、且つ、そのthreadが1度も実行状態になっていない
        ⇒ idleにスイッチする
CT_006: runqに実行待ちのthreadが存在し、且つ、そのthreadが実行状態になったことがある
        ⇒ idleにスイッチする

・prevがidle以外で、statusがPS_EXITED以外：
CT_007: runqが空 
        ⇒ idleにスイッチする
CT_008: runqに実行待ちのthreadが存在し、且つ、そのthreadが1度も実行状態になっていない
        ⇒ 非idleのthreadにスイッチする
CT_009: runqに実行待ちのthreadが存在し、且つ、そのthreadが実行状態になったことがある
        ⇒ 非idleのthreadにスイッチする

・prevがidle以外で、statusがPS_EXITED：
CT_010: runqが空 
        ⇒ idleにスイッチする
CT_011: runqに実行待ちのthreadが存在し、且つ、そのthreadが1度も実行状態になっていない
        ⇒ idleにスイッチする
CT_012: runqに実行待ちのthreadが存在し、且つ、そのthreadが実行状態になったことがある
        ⇒ idleにスイッチする

(4) 結果
テストプログラムの実行結果はresult.log に出力される。
上記12項目で[OK]が出力されていることを確認した。
