*参照元 [#wcbe14cc]
#backlinks

*説明 [#t80e5866]
-パス: [[linux-4.4.1/mm/page_alloc.c]]

-FIXME: これは何?
--ページの確保をわざと失敗させる


**引数 [#nf150bcf]
-gfp_t gfp_mask
--
--[[linux-4.4.1/gfp_mask]]
-unsigned int order
--確保する領域のサイズをページ数のオーダーで指定する


**返り値 [#g336d1a8]
-bool
--ページの確保に失敗するなら true、成功するなら false


**参考 [#i7b55c4a]


*実装 [#c05bda82]
 #ifdef CONFIG_FAIL_PAGE_ALLOC
-ページの確保をわざと失敗させるテスト機能が有効な場合
--[[linux-4.4.1/CONFIG_FAIL_PAGE_ALLOC]]

 ...
 
 static bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
 {
 	if (order < fail_page_alloc.min_order)
 		return false;
 	if (gfp_mask & __GFP_NOFAIL)
 		return false;
 	if (fail_page_alloc.ignore_gfp_highmem && (gfp_mask & __GFP_HIGHMEM))
 		return false;
 	if (fail_page_alloc.ignore_gfp_reclaim &&
 			(gfp_mask & __GFP_DIRECT_RECLAIM))
 		return false;
 
 	return should_fail(&fail_page_alloc.attr, 1 << order);
 }
 
 ...
 
 #else /* CONFIG_FAIL_PAGE_ALLOC */
 
-ページの確保をわざと失敗させるテスト機能が無効な場合

 static inline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
 {
 	return false;
 }
-常に false

 
 #endif /* CONFIG_FAIL_PAGE_ALLOC */


*コメント [#u92977e0]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS