*参照元 [#l29d63df]
#backlinks

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

-page_order を指定された値に設定し、ページを未使用にする。
--page_order は、このページを先頭として、2^n ページ連続した空き領域があるか?を表す値。
---struct page のプライベート領域(private メンバ)に格納される。
--ページの _mapcount を PAGE_BUDDY_MAPCOUNT_VALUE にする。
_mapcount が PAGE_BUDDY_MAPCOUNT_VALUE の値=未使用、という意味になるようだ。
---PAGE_BUDDY_MAPCOUNT_VALUE は -128


**引数 [#i8ff74ce]
-struct page *page
--ページ
-unsigned int order
--オーダー


**返り値 [#w59248ab]
-void


**参考 [#bac8768a]

-取得する関数。
--[[linux-4.4.1/page_order()]]
--[[linux-4.4.1/page_order_unsafe()]]
-削除する関数。
--[[linux-4.4.1/rmv_page_order()]]


*実装 [#dce17bd4]
 static inline void set_page_order(struct page *page, unsigned int order)
 {
 	set_page_private(page, order);
 	__SetPageBuddy(page);
 }
-page_order を order にして、ページを未使用にする。
--[[linux-4.4.1/set_page_private()]]
--[[linux-4.4.1/__SetPageBuddy()]]



*コメント [#sd78877a]

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