随笔分类 -  进程管理

调度器30—调度相关结构体—p->flags
摘要:一、PF_EXITING 1. 赋值路径 各驱动和内核机制中直接调用 SYSCALL_DEFINE1(exit, int, error_code) //exit.c do_exit(code); //exit.c exit_signals(tsk); //signal.c tsk->flags |= 阅读全文

posted @ 2023-02-16 22:44 Hello-World3 阅读(67) 评论(0) 推荐(0) 编辑

调度器42—进程exit退出流程
摘要:基于Linux-5.10 一、do_exit()简要流程 1. 执行路径 各驱动和内核机制中直接调用 SYSCALL_DEFINE1(exit, int, error_code) //exit.c 将 (error_code&0xff)<<8 传给参数 code do_exit(code); if 阅读全文

posted @ 2023-02-16 22:20 Hello-World3 阅读(192) 评论(0) 推荐(0) 编辑

调度器44—root_domain—更新路径
摘要:1. root_domain 的路径的赋值路径 kernel_init_freeable //内核初始化路径调用 【2】 sched_init_smp //core.c 传参 cpu_active_mask sched_init_domains //topology.c 传参为cpu_map 和 N 阅读全文

posted @ 2023-02-11 23:28 Hello-World3 阅读(207) 评论(0) 推荐(0) 编辑

常用或优秀代码段
摘要:一、CPU相关 1. 相关路由宏 task_cpu(p) //获取task所在的CPUtask_rq() //task所在的rqcpu_of(rq) //获取指定rq的CPUcpu_rq() //获取指定CPU的 rqthis_rq() //获取当前CPU的rqraw_rq() //raw_cpu_ 阅读全文

posted @ 2023-02-10 15:19 Hello-World3 阅读(312) 评论(0) 推荐(1) 编辑

调度器30—调度相关结构体—p->state
摘要:一、TASK_DEAD 1. 赋值调用路径 do_exit //的最后调用 do_task_dead //sched/core.c set_special_state(TASK_DEAD); WRITE_ONCE(current->__state, state_value); copy_proces 阅读全文

posted @ 2023-01-31 22:37 Hello-World3 阅读(239) 评论(0) 推荐(0) 编辑

导航