调度器75—reserved cpu


一、调用路径

基于msm-4.4

1. mark_reserved() 调用路径:

scheduler_tick //core.c
scheduler_ipi //core.c
    check_for_migration //fair.c 若new_cpu是active balance迁移的目标cpu时,则标记
        mark_reserved(new_cpu);


2. clear_reserved() 调用路径:

do_isolation_work_cpu_stop //core.c
migration_call //core.c
    clear_hmp_request(cpu) //hmp.c


3. is_reserved() 调用路径:

scheduler_tick //core.c
scheduler_ipi //core.c
    check_for_migration //fair.c 若使能 CONFIG_SCHED_HMP 才会调用
    select_task_rq_fair //fair.c 若使能 CONFIG_SCHED_HMP 才会调用
        select_best_cpu //fair.c
            find_best_cpu_in_cluster //fair.c 选核时会跳过
                skip_cpu //fair.c
                    if (is_reserved(cpu))
                        return 1;


4. 总结: 就是选核时尽量不要选到主动负载均衡将要迁移任务到的那个目标CPU上。

 

posted on 2025-07-07 16:19  Hello-World3  阅读(9)  评论(0)    收藏  举报

导航