#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]