作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在 linux 中浏览某个设备驱动程序中的一些代码时,我发现在线程(进程)中设置了标志 PF_MEMALLOC
。我在头文件中找到了这个标志的定义,上面写着“分配内存”
#define PF_MEMALLOC 0x00000800 /* Allocating memory */
所以,我的疑问是,在进程/线程中设置此标志的确切用途是什么代码 current->flags |= PF_MEMALLOC;
最佳答案
此标志在内核中用于指示当前正在使用内存分配路径执行的线程,因此允许递归分配它需要的任何内存而忽略水印并且不会被强制写出脏页。
这是为了确保如果尝试释放页面以满足原始分配请求的代码本身必须分配少量内存才能继续,该代码将不会递归地尝试释放页面。
大多数驱动程序不需要此标志。
关于linux-kernel - 标志 PF_MEMALLOC 有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40889968/
当我在 linux 中浏览某个设备驱动程序中的一些代码时,我发现在线程(进程)中设置了标志 PF_MEMALLOC。我在头文件中找到了这个标志的定义,上面写着“分配内存” #define PF_MEM
当我在 linux 中浏览某个设备驱动程序中的一些代码时,我发现在线程(进程)中设置了标志 PF_MEMALLOC。我在头文件中找到了这个标志的定义,上面写着“分配内存” #define PF_MEM
我是一名优秀的程序员,十分优秀!