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