ymc4444 发表于 2016-09-27 22:47

瀚海书香 发表于 2016-09-28 13:12

ymc4444 发表于 2016-09-27 22:47
[*]int zone_watermark_ok(struct zone *z, int order, unsigned long mark,

[*]      int classzon ...

你这是从哪看的啊?应该是写错了。

我这边看了一下v4.8-rc2的内核代码,在alloc_flags中通过一个bit ALLOC_HARDER进行标示。

ALLOC_HARDER的赋值条件有两个:
1、__GFP_ATOMIC && !__GFP_NOMEMALLOC
2、rt_task && !in_interrupt

ymc4444 发表于 2016-09-28 13:44

ymc4444 发表于 2016-09-28 15:34

瀚海书香 发表于 2016-09-29 21:24

回复 4# ymc4444

问题一:4.2代码没有看到这块逻辑,可能看漏了??问题二:oom的时候,需要打印相关的信息(内存或者磁盘),必须具备FS属性

ymc4444 发表于 2016-09-30 19:27

nswcfd 发表于 2016-10-04 19:12

1楼 估计是翻译问题吧。
... allocation is done in process context (outside of interrupt handler...)

nswcfd 发表于 2016-10-04 19:25

扫描是有成本的,尽量在延迟敏感的上下文避免第三次扫描。

GFP_FS是相对于GFP_NOFS的,避免fs的核心代码在调用memory API的时候产生循环依赖或调用。
页: [1]
查看完整版本: 关于内存水位计算函数