参照元†
- gfp_t gfp_mask
- unsigned int order
- 確保する領域のサイズをページ数のオーダーで指定する
返り値†
- bool
- ページの確保に失敗するなら true、成功するなら false
#ifdef 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;
}
#endif /* CONFIG_FAIL_PAGE_ALLOC */
コメント†