内核源码--------mm_init_cpumask(&init_mm);

本文深入探讨Linux内核start_kernel函数中的mm_init_cpumask(&init_mm)过程。首先介绍了init_mm结构体的初始化,然后详细分析了mm_init_cpumask函数,特别是当CONFIG_CPUMASK_OFFSTACK宏未定义时的操作,最后触及到cpumask_clear函数,该函数用于清空cpumask中的所有CPU标识,涉及位图操作。
摘要由CSDN通过智能技术生成

回到start_kernel,来看函数mm_init_cpumask(&init_mm),从表面意思,可以猜出是初始化内存的,先看看init_mm这个变量是怎么来的?,定位到init_mm

struct mm_struct init_mm = {
.mm_rb = RB_ROOT,
.pgd = swapper_pg_dir,
.mm_users = ATOMIC_INIT(2),
.mm_count = ATOMIC_INIT(1),
.mmap_sem = __RWSEM_INITIALIZER(init_mm.mmap_sem),
.page_table_lock =  __SPIN_LOCK_UNLOCKED(init_mm.page_table_lock),
.mmlist = LIST_HEAD_INIT(init_mm.mml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值