memory-less node

开机log中提示memory-less node,所谓的memory-less node 就是这个node上没有内存

对应的numactl -H如下:

可见node 0 和 2上确实没有内存,这就dmesg中的log 对应起来,

static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
{
    const size_t nd_size = roundup(sizeof(pg_data_t), SMP_CACHE_BYTES);
    u64 nd_pa;
    void *nd;

    int tnid;

# 这里就会打印memory-less  node

 if (start_pfn >= end_pfn)
        pr_info("Initmem setup node %d [<memory-less node>]\n", nid);

    nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
    if (!nd_pa)
        panic("Cannot allocate %zu bytes for node %d data\n",
              nd_size, nid);

    nd = __va(nd_pa);

    /* report and initialize */
    pr_info("NODE_DATA [mem %#010Lx-%#010Lx]\n",
        nd_pa, nd_pa + nd_size - 1);
    tnid = early_pfn_to_nid(nd_pa >> PAGE_SHIFT);
    if (tnid != nid)
        pr_info("NODE_DATA(%d) on node %d\n", nid, tnid);

    node_data[nid] = nd;
    memset(NODE_DATA(nid), 0, sizeof(pg_data_t));
    NODE_DATA(nid)->node_id = nid;
    NODE_DATA(nid)->node_start_pfn = start_pfn;
    NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值