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