zone_watermark_ok()的理解
来源:互联网 发布:java种方法覆盖super 编辑:程序博客网 时间:2024/06/05 17:38
/* * Return 1 if free pages are above 'mark'. This takes into account the order * of the allocation. */int zone_watermark_ok(struct zone *z, int order, unsigned long mark, int classzone_idx, int alloc_flags){/* free_pages my go negative - that's OK */long min = mark; //zone结构体里定义
<span style="white-space:pre"></span>/* <span style="font-family: Arial, Helvetica, sans-serif;">zone_nr_free_pages获取剩余页帧数 减去需要分配的页帧数 </span><span style="font-family: Arial, Helvetica, sans-serif;">*/</span>long free_pages = zone_nr_free_pages(z) - (1 << order) + 1;int o;if (alloc_flags & ALLOC_HIGH)min -= min / 2;if (alloc_flags & ALLOC_HARDER)min -= min / 4;if (free_pages <= min + z->lowmem_reserve[classzone_idx])return 0;for (o = 0; o < order; o++) {/* At the next order, this order's pages become unavailable */
<span style="white-space:pre"></span>/* 将<order 比如order = 3, 则 0 1 2的buddy算法里的都不符合,减掉 */free_pages -= z->free_area[o].nr_free << o;/* Require fewer higher order pages to be free */min >>= 1;if (free_pages <= min)return 0;}return 1;}
0 0
- zone_watermark_ok()的理解
- zone_watermark_ok
- zone_watermark_ok
- 理解 TranslateAnimation动画的理解
- CopyOnWriteArrayList的理解与理解
- 理解装饰模式的理解
- java数据源的理解---------------自己的理解
- Session的理解Cookie的理解
- 理解Javascript_06_理解对象的创建过程
- 理解select模型的关键在于理解fd_set
- 理解Javascript_06_理解对象的创建过程
- Hibernate理解2:hibernate的运用理解
- 关于自然语言理解的一些理解
- Virtual的理解
- 对博客的理解
- 对动力的理解
- 递归函数的理解
- 设计模式的理解
- java调用oracle存储过程
- Android微信支付的两大坑点
- bzoj-3564 信号增幅仪
- Ubuntu镜像源和pypi镜像源
- Sublime Text 3 学习及使用
- zone_watermark_ok()的理解
- C/C++中作用域详解
- [BZOJ1050][HAOI2006]旅行comf
- Chapter1 基础部分 - iOS 8 Swift Programming cookBook 读书笔记
- iOS App自定义View支持VoiceOver
- hdoj 1950 Bridging signals 【DP经典问题LIS 的 经典算法】
- AndroidStudio界面出现乱码
- 1323: 算法2-1:集合union
- SQLServer 2008 :error 40 出现连接错误