gpt4 book ai didi

c - alloc_pages() 是否分配 2MB 大页?

转载 作者:行者123 更新时间:2023-11-30 14:27:02 27 4
gpt4 key购买 nike

我发现alloc_fresh_huge_page_node()调用了alloc_pages()来分配一个大页,只是想确认一下它是否分配了一个物理大页并建立了内存映射?

static struct page *alloc_fresh_huge_page_node(struct hstate *h, int nid)
{
struct page *page;

if (h->order >= MAX_ORDER)
return NULL;

page = alloc_pages_exact_node(nid,
htlb_alloc_mask|__GFP_COMP|__GFP_THISNODE|
__GFP_REPEAT|__GFP_NOWARN,
huge_page_order(h));
if (page) {
if (arch_prepare_hugepage(page)) {
__free_pages(page, huge_page_order(h));
return NULL;
}
prep_new_huge_page(h, page, nid);
}

return page;
}

最佳答案

Alloc_pages() 分配您使用的任何可能的页面大小。 2MB 是一种选项(通常在使用 PAE 时),其他选项是,在 2.6 内核上,4kb 和 4MB。

关于c - alloc_pages() 是否分配 2MB 大页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230732/

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