arm64内存-page_alloc_init

上一篇:build all zonelists

https://www.cnblogs.com/zhangzhiwei122/p/16099490.html

 

start_kernel ->page_alloc_init

 848asmlinkage __visible void __init __no_sanitize_address start_kernel(void)
 849{
 850        char *command_line;
 851        char *after_dashes;

 878        build_all_zonelists(NULL);
 879        page_alloc_init();

 

page_alloc_init

mm/page_alloc.c

里面 很少的语句

7731void __init page_alloc_init(void)
7732{
7733        int ret;

7740        ret = cpuhp_setup_state_nocalls(CPUHP_PAGE_ALLOC_DEAD,
7741                                        "mm/page_alloc:dead", NULL,
7742                                        page_alloc_cpu_dead);
7743        WARN_ON(ret < 0);
7744}

7740 - 向 cpuhp 的 CPUHP_PAGE_ALLOC_DEAD   step 插入了一个  teardown 函数, page_alloc_cpu_dead 。

在cpu  teardown 的过程中调用它

 

下一篇: arm64内存-memblock交接内存给zoned frame allocator (buddy system)

https://www.cnblogs.com/zhangzhiwei122/p/16100012.html

 

posted @ 2022-04-04 16:09  张志伟122  阅读(200)  评论(0编辑  收藏  举报