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