gpt4 book ai didi

linux-kernel - 标志 PF_MEMALLOC 有什么用

转载 作者:行者123 更新时间:2023-12-02 15:15:31 30 4
gpt4 key购买 nike

当我在 linux 中浏览某个设备驱动程序中的一些代码时,我发现在线程(进程)中设置了标志 PF_MEMALLOC。我在头文件中找到了这个标志的定义,上面写着“分配内存”

#define PF_MEMALLOC     0x00000800      /* Allocating memory */

所以,我的疑问是,在进程/线程中设置此标志的确切用途是什么代码 current->flags |= PF_MEMALLOC;

最佳答案

此标志在内核中用于指示当前正在使用内存分配路径执行的线程,因此允许递归分配它需要的任何内存而忽略水印并且不会被强制写出脏页。

这是为了确保如果尝试释放页面以满足原始分配请求的代码本身必须分配少量内存才能继续,该代码将不会递归地尝试释放页面。

大多数驱动程序不需要此标志。

关于linux-kernel - 标志 PF_MEMALLOC 有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40889968/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com