【Issue#765 動作確認】
□ テスト内容
1. 共有可能なページがラージページに割り当てられないことの確認
Issue#765の問題は、共有可能なラージページをスモールページに分割したとき、
共有情報が不正になることであった。
しかし、McKernel は共有対象の領域をラージページに割り当てないため、共有
可能なページが分割されることはあり得ず、Issueが顕在化することは無い。
このことをテストプログラムを用いて確認する。
C765T01 スタック領域がラージページに割り当てられ、共有不能なことを確認する。
C765T02 ヒープ領域がスモールページに割り当てられ、共有不能なことを確認する。
C765T03 mmapで8kBのMAP_PRIVATE領域がスモールページに割り当てられ、共有不能な
ことを確認する。
C765T04 mmapで2MBのMAP_PRIVATE領域がラージページに割り当てられ、共有不能な
ことを確認する。
C765T05 mmapで8kBのMAP_SHARED領域がスモールページに割り当てられ、共有可能な
ことを確認する。
C765T06 mmapで2MBのMAP_SHARED領域がスモールページに割り当てられ、共有可能な
ことを確認する。
C765T07 shmatで8kBの領域がスモールページに割り当てられ、共有可能なことを
確認する。
C765T08 shmatで2MBの領域がスモールページに割り当てられ、共有可能なことを
確認する。
2. 指摘プログラムで現象が発生しないことの確認
ostestのmem_limitsを実行し、現象が発生しないことを確認する。
C765T09 struct pageの参照カウンタが負にならないことを確認する。
□ パッチ適用
動作確認のため、McKernelにパッチを適用する。
$ cd /path/to/mckernel
$ patch -p0 < test/issue/765/C765.patch
$ <configure, build, install>
C765.patch 指定されたメモリのページサイズと共有状況を調べるシステムコールを
追加するパッチ。
□ 実行手順
$ make test
McKernelのインストール先や、OSTEST, LTPの配置場所は、
$HOME/.mck_test_config を参照している
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
$HOMEにコピーし、適宜編集する
□ 実行結果
C765.txt 参照。
全ての項目が OK となっていることを確認。