内核源码--------page_address_init();
来源:互联网 发布:罗兰电子鼓软件 编辑:程序博客网 时间:2024/06/06 20:33
回到start_kernel,进入到函数page_address_init();定位到该函数
void __init page_address_init(void)
{
int i;
for (i = 0; i < ARRAY_SIZE(page_address_htable); i++)
{
INIT_LIST_HEAD(&page_address_htable[i].lh);
spin_lock_init(&page_address_htable[i].lock);
}
}
该函数中,初始化ARRAY_SIZE这个数组的元素,定位到page_address_htable
static struct page_address_slot {
struct list_head lh;/* List of page_address_maps */
spinlock_t lock;/* Protect this bucket's list */
} ____cacheline_aligned_in_smp page_address_htable[1<<PA_HASH_ORDER];
继续定位PA_HASH_ORDER
#define PA_HASH_ORDER 7
最终,初始化的目的是初始化128个链表,链表是双向循环链表。
阅读全文
0 0
- 内核源码--------page_address_init();
- page_address_init 函数
- 核心游记之 page_address_init
- start_kernel——page_address_init
- page_address_init 高端内存初始化函数
- 源码内核
- 看Linux内核源码
- linux 内核源码结构
- linux内核源码组织
- 内核源码树编译
- 内核源码编排
- 内核源码kfifo分析
- fedora 安装内核源码
- Fedora安装内核源码
- ubuntu安装内核源码
- linux内核源码阅读
- 构造内核源码树
- Linux内核源码
- react-native项目移到mac上
- Goodbye, MulticoreWare Inc.
- unity调用摄像头拍照
- Sicily 1176. Two Ends
- centos 7关闭防火墙
- 内核源码--------page_address_init();
- ViewPager轮播图
- VIM高阶用法技巧
- Liferay 6.1开发学习:编译调试修改源码
- 为什么努力那么难-可心耳语(第三期)
- redhat EL6.5安装mysql5.7及常见问题
- 高德地图
- 关于 VUE的el-select 初始值设置问题
- 面试题62. 序列化二叉树