root_domain

一、数据结构

1.root_domain初始化函数调用关系

start_kernel()
 \-sched_init(void)
    \-init_defrootdomain();
       \-init_rootdomain(&def_root_domain)

start_kernel()
 \-arch_call_rest_init()
    \-rest_init()
       \-kernel_init
          \-kernel_init_freeable()
             \-sched_init_smp()
                \-sched_init_domains(cpumask *cpu_active_mask)
                   \-build_sched_domains(cpumask *cpu_map, NULL)
                      \-__visit_domain_allocation_hell(struct s_data *d, const struct cpumask *cpu_map)
                         \-d->rd = alloc_rootdomain()  
                            \-init_rootdomain(rd)

2.perf_domain初始化函数调用关系

rebuild_sched_domains()
update_cpumasks_hier()
update_relax_domain_level()
update_prstate()
update_flag()
 \-rebuild_sched_domains_locked(void)
    \-partition_and_rebuild_sched_domains(ndoms, doms, attr)    /*kernel/cgroup/cpuset.c*/
       \-partition_sched_domains_locked(ndoms_new, doms_new, dattr_new)
          \-build_perf_domains(const struct cpumask *cpu_map)
   
cpuset_cpu_active(void) 
cpuset_cpu_inactive(unsigned int cpu)         
 \-partition_sched_domains(1, NULL, NULL)    /*kernel/sched/topology.c* if(cpuhp_tasks_frozen)*/
    \-partition_sched_domains_locked()
       \-build_perf_domains(const struct cpumask *cpu_map)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值