[*]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
回复 4# ymc4444
问题一:4.2代码没有看到这块逻辑,可能看漏了??问题二:oom的时候,需要打印相关的信息(内存或者磁盘),必须具备FS属性
1楼 估计是翻译问题吧。
... allocation is done in process context (outside of interrupt handler...)
扫描是有成本的,尽量在延迟敏感的上下文避免第三次扫描。
GFP_FS是相对于GFP_NOFS的,避免fs的核心代码在调用memory API的时候产生循环依赖或调用。
页:
[1]