Memory 什么';这是“什么?”;对",;如何在最新内核中使用GFP_ZERO?

Memory 什么';这是“什么?”;对",;如何在最新内核中使用GFP_ZERO?,memory,linux-kernel,kmalloc,Memory,Linux Kernel,Kmalloc,我发现在Linux3.0+GFP\uZero不再在头文件中定义 我在gfp.h里找到的只是 /* Plain integer GFP bitmasks. Do not use this directly. */ ... #define ___GFP_ZERO 0x8000u 我已经检查了那些“导出”位掩码,在一个使用GFP\u ZERO 作者说,不要直接使用这个,所以,我应该如何将页面归零 kmalloc+memset是我现在唯一的选择吗?我认为期望的归零方法是kzalloc():

我发现在Linux3.0+
GFP\uZero
不再在头文件中定义

我在gfp.h里找到的只是

/* Plain integer GFP bitmasks. Do not use this directly. */
...
#define ___GFP_ZERO     0x8000u
我已经检查了那些“导出”位掩码,在一个使用
GFP\u ZERO

作者说,
不要直接使用这个
,所以,我应该如何将页面归零


kmalloc+memset
是我现在唯一的选择吗?

我认为期望的归零方法是kzalloc():

但显然alloc+memset也能起作用

更新

显示预期更新的示例差异:

-   cfqd = kmalloc_node(sizeof(*cfqd), GFP_KERNEL | __GFP_ZERO, q->node);
+   cfqd = kzalloc_node(sizeof(*cfqd), GFP_KERNEL, q->node);

另请参见:

Wow!永远不知道这件事-P