【问题标题】:what is default memory policy flag for malloc?malloc 的默认内存策略标志是什么?
【发布时间】:2020-01-06 06:42:09
【问题描述】:

在 numa 系统中,当 malloc 被调用而不使用 set_mempolicy 时,内核中用于此分配的默认 mempolicy 标志是什么?是 MPOL_DEFAULT 还是 MPOL_INTERLEAVED ?

【问题讨论】:

  • 那么你用get_mempolicy检查了吗? when malloc is called - 你是说numa_alloc 还是malloc?这个名字不是暗示默认的内存策略是MPOL_DEFAULT吗?...
  • 我的意思是在 numa 机器上单独使用 malloc,在下面添加了必需的答案。

标签: linux memory memory-management linux-kernel embedded-linux


【解决方案1】:

在 mm/mempolicy.c 中

/* * 运行时系统范围的默认策略 => 本地分配 */

static struct mempolicy default_policy = {
    .refcnt = ATOMIC_INIT(1), /* never free it */
    .mode = MPOL_PREFERRED,
    .flags = MPOL_F_LOCAL,
};

所以默认内存策略是 MPOL_PREFERRED。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 2016-08-14
    • 2023-02-11
    • 2014-05-26
    • 2012-03-28
    • 2017-12-04
    • 1970-01-01
    相关资源
    最近更新 更多