【Issue#1458 動作確認】
□ テスト内容
1. C1458T01
以下のケースでMAP_SHARED指定のmmapをした領域についてページインした後、
最後から2番めのラージページの最後の部分をより小さいページサイズ1ページ分でunmapし、
期待通りの動作となることを確認する
また、当該領域への読み書き操作が正常に行えることを確認する
- MAP_HUGETLB指定 : munmapが成功する
- ラージページサイズの倍数のサイズ : munmapが成功する
- ラージページサイズの倍数ではないサイズ :munmapが成功する
2. C1458T02
以下のケースでMAP_SHARED指定のmmapをした領域についてページインする前に、
最後から2番めのラージページの最後の部分をより小さいページサイズ1ページ分でunmapし、
期待通りの動作となることを確認する
また、当該領域への読み書き操作が正常に行えることを確認する
- MAP_HUGETLB指定 : munmapが成功する
- ラージページサイズの倍数のサイズ : munmapが成功する
- ラージページサイズの倍数ではないサイズ :munmapが成功する
3. C1458T03
以下のケースでshmget()で作成した共有メモリ領域の、
最後から2番めのラージページの最後の部分をより小さいページサイズ1ページ分でunmapし、
期待通りの動作となることを確認する
また、当該領域への読み書き操作が正常に行えることを確認する
- MAP_HUGETLB指定 : munmapが成功する
- ラージページサイズの倍数のサイズ : munmapが成功する
- ラージページサイズの倍数ではないサイズ :munmapが成功する
4. 以下のLTPを用いて既存のshm機能に影響が無いことを確認する
- shmat01
- shmat02
- shmat03
- shmctl01
- shmctl02
- shmctl03
- shmctl04
- shmdt01
- shmdt02
- shmget01
- shmget02
- shmget03
- shmget04
- shmget05
□ 実行手順
1. McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
$HOME/.mck_test_configとしてコピーし、パスを編集する。
2. 以下の手順でビルドと実行を行う
$ (build mckernel)
$ cd <mckernel>/test/issues/1458
$ mkdir build && cd build
$ cmake ../ -DWITH_MCK=<mck_install_dir> -DWITH_MCK_SRC=<mck_src_dir> -DWITH_MCK_BUILD=<mck_build_dir> -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_INSTALL_PREFIX_SCRIPTS=./install/data/scripts
$ make install
$ ./install/scripts/issue-C1458T01
$ ./install/scripts/issue-C1458T02
$ ./install/scripts/issue-C1458T03
$ cd <mckernel>/test/issues/1458
$ ./regression_test.sh
□ 実行結果
x86_64_result.log aarch64_result.log 参照。
すべての項目をPASSしていることを確認。