Files
mckernel/test/issues/765
Ken Sato e803698618 test: Refactor test programs
Change-Id: I77fec2f5f30f6fda3bda6f85ce00f1c2e7f7a9b3
2018-09-25 12:45:20 +09:00
..
2018-09-25 12:45:20 +09:00
2018-09-25 12:45:20 +09:00
2018-09-25 12:45:20 +09:00
2018-08-02 01:42:46 +00:00
2018-08-02 01:42:46 +00:00
2018-09-25 12:45:20 +09:00

【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 となっていることを確認。