Linux kmalloc中GFP_用户标志的用途是什么?

Linux kmalloc中GFP_用户标志的用途是什么?,linux,linux-kernel,embedded-linux,kmalloc,Linux,Linux Kernel,Embedded Linux,Kmalloc,据我所知,GFP_USER标志(在调用kmalloc时)中的用法用于为用户空间分配内存。这是否意味着分配的页面位于内核空间中,用户可以访问该空间? 这些页面是否需要在用户空间中mmapp,或者用户可以直接访问地址。 如果他们需要mmapp,那么GFP\u用户和GFP\u内核之间的区别是什么?可以在内核中找到简要说明: GFP_内核是内核内部分配的典型。来电者 需要正常区域或较低区域进行直接访问,但可以直接访问 收回 GFP_USER用于用户空间分配,也需要直接 可通过内核或硬件访问。它通常由硬件

据我所知,
GFP_USER
标志(在调用
kmalloc
时)中的用法用于为用户空间分配内存。这是否意味着分配的页面位于内核空间中,用户可以访问该空间? 这些页面是否需要在用户空间中
mmapp
,或者用户可以直接访问地址。
如果他们需要
mmapp
,那么
GFP\u用户
GFP\u内核
之间的区别是什么?

可以在内核中找到简要说明:

GFP_内核
是内核内部分配的典型。来电者 需要正常区域或较低区域进行直接访问,但可以直接访问 收回

GFP_USER
用于用户空间分配,也需要直接 可通过内核或硬件访问。它通常由硬件使用 对于映射到该硬件的用户空间(如图形)的缓冲区 还是要去。对这些分配强制执行cpuset限制

发件人:

__GFP_HARDWALL强制执行内存分配策略

#define GFP_KERNEL      (__GFP_RECLAIM | __GFP_IO | __GFP_FS)
#define GFP_USER        (__GFP_RECLAIM | __GFP_IO | __GFP_FS | __GFP_HARDWALL)