If size exceeds, mmap fails and set -ENOMEM Change-Id: I4f0d6e18ee3a7c8e32e251b7ed07ee9f76305603 Refs: #1183
50 lines
2.7 KiB
Plaintext
50 lines
2.7 KiB
Plaintext
【Issue#1183 動作確認】
|
||
□ テスト内容
|
||
テストで扱うメモリサイズについて、以下のように定義する
|
||
メモリ総容量:McKernelに割り当てられたメモリ量。本テストでは10GB とする
|
||
利用可能サイズ:メモリ総容量から、マップ済ページの合計サイズを引いたもの
|
||
利用可能サイズを超えるサイズ:本テストではメモリ総容量 + 1GB とする
|
||
利用可能サイズを超えないサイズ: 本テストではメモリ総容量 / 2 とする
|
||
|
||
1. MAP_HUGETLB指定時のmmapの動作確認
|
||
C1183T01:
|
||
一回のmmapでの要求サイズが、利用可能サイズを超える場合、
|
||
利用可能なそれぞれのHugePageSizeでmmapが失敗することを確認する
|
||
|
||
C1183T02:
|
||
一回のmmapでの要求サイズが、利用可能サイズを超えない場合、
|
||
利用可能なそれぞれのHugePageSize でmmapが成功することを確認する
|
||
|
||
C1183T03:
|
||
複数回のmmapにおいて、各回のmmapでの要求サイズが利用可能サイズを超えない場合に成功し、
|
||
超えた場合に失敗することを確認する
|
||
なお、anonymous mmapは連続した物理メモリが確保出来た場合はプリマップをするため、
|
||
アーキテクチャごとに下記のような動作となる
|
||
- x86_64 : 2MBページ要求時は利用可能サイズが減少していくが、1GBページ要求時は減少しない
|
||
- aarch64 : 64KB, 2MBページ要求時は利用可能サイズが減少していくが、32MB, 1GBページ要求時は減少しない
|
||
|
||
1. MAP_HUGETLB未指定時のmmapの動作確認
|
||
C1183T04:
|
||
一回のmmapでの要求サイズが、利用可能サイズを超える場合、mmapが成功することを確認する
|
||
|
||
C1183T05
|
||
一回のmmapでの要求サイズが、利用可能サイズを超えない場合、mmapが成功することを確認する
|
||
|
||
C1183T06:
|
||
複数回のmmapにおいて、各回のmmapでの要求サイズが利用可能サイズを超えない場合に成功し、
|
||
超えた場合に失敗することを確認する
|
||
なお、MAP_HUGETLB未指定時にはプリマップは行われないため、複数回のmmapによっても
|
||
利用可能サイズは減少せず、累積のmmap要求サイズがメモリ総容量を超過してもmmapは成功する
|
||
|
||
□ 実行手順
|
||
$ make test
|
||
|
||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||
$HOME/.mck_test_config を参照している
|
||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||
$HOMEにコピーし、適宜編集する
|
||
|
||
□ 実行結果
|
||
x86_64_result.log, aarch64_result.log 参照。
|
||
すべての項目をPASSしていることを確認。
|