#author("2025-10-27T11:52:51+09:00","default:guest","guest")
#author("2025-10-27T11:54:26+09:00","default:guest","guest")
*参照元 [#d6e80184]
#backlinks

*説明 [#m5ec52b3]
-パス: [[linux-5.15/include/linux/gfp.h]]

-FIXME: これは何?
--説明
-GFPの値に応じてどのゾーンリストを使うかを返す。
--nodeのzonelists(zonerefの配列)は2つある。
--[0]: ZONELIST_FALLBACK用
--[1]: ZONELIST_NOFALLBACK用


**引数 [#r2edbb3b]
-gfp_t flags
--GFP(Get Free Pages)フラグ
--[[linux-5.15/gfp_t]]


**返り値 [#za46c3cb]
-int
--ZONELIST_FALLBACKか、ZONELIST_NOFALLBACKを返す。


**参考 [#p5fb2c0b]


*実装 [#a1e62f64]

 /*
  * There is only one page-allocator function, and two main namespaces to
  * it. The alloc_page*() variants return 'struct page *' and as such
  * can allocate highmem pages, the *get*page*() variants return
  * virtual kernel addresses to the allocated page(s).
  */
 
 static inline int gfp_zonelist(gfp_t flags)
 {
 #ifdef CONFIG_NUMA
 	if (unlikely(flags & __GFP_THISNODE))
 		return ZONELIST_NOFALLBACK;
 #endif
 	return ZONELIST_FALLBACK;
 }

-ZONELIST_FALLBACKは0、ZONELIST_NOFALLBACKは1
-__GFP_THISNODEは0x20_0000u


*コメント [#n75fcff0]

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