#author("2025-09-10T13:58:22+09:00","default:guest","guest")
#author("2025-09-10T14:27:03+09:00","default:guest","guest")
*参照元 [#zecc5fd7]
#backlinks

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

-安全に__zone_watermark_ok()を呼ぶ。
--安全とは?


**引数 [#k8b55bbd]
-struct zone *z
--
--[[linux-5.15/zone]]
-unsigned int order
--
-unsigned long mark
--
-int highest_zoneidx
--


**返り値 [#v49ccc58]
-
--

**参考 [#rb7ee9ef]


*実装 [#i6c1fbb1]

 bool zone_watermark_ok_safe(struct zone *z, unsigned int order,
 			unsigned long mark, int highest_zoneidx)
 {
 	long free_pages = zone_page_state(z, NR_FREE_PAGES);
 
 	if (z->percpu_drift_mark && free_pages < z->percpu_drift_mark)
 		free_pages = zone_page_state_snapshot(z, NR_FREE_PAGES);
 
 	return __zone_watermark_ok(z, order, mark, highest_zoneidx, 0,
 								free_pages);
 }

-
--[[linux-5.15/zone_page_state()]]
--[[linux-5.15/zone_page_state_snapshot()]]
--[[linux-5.15/__zone_watermark_ok()]]
-percpu_drift_markはrefresh_zone_stat_thresholds()が更新する。
--[[linux-5.15/refresh_zone_stat_thresholds()]]


*コメント [#j3f2392c]

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