随笔分类 -  进程管理

调度器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 阅读(69) 评论(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 阅读(212) 评论(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 阅读(220) 评论(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 阅读(359) 评论(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 阅读(257) 评论(0) 推荐(0) 编辑

进程管理1——进程和线程的差异
摘要:一、创建传参差异 1. 线程创建 /* pthread_create //glibc __pthread_create_2_1 create_thread do_clone clone //系统调用 */ static int create_thread (struct pthread *pd, . 阅读全文

posted @ 2022-10-13 15:06 Hello-World3 阅读(138) 评论(0) 推荐(0) 编辑

调度器40—sched_features
摘要:基于 Linux-5.10 一、实验 1. kernel/sched/debug.c 中将以debugfs文件导出的 sched_feat_fops 文件改为procfs导出。 static const struct proc_ops sched_feat_proc_fops = { .proc_o 阅读全文

posted @ 2022-10-02 20:51 Hello-World3 阅读(528) 评论(0) 推荐(0) 编辑

进程管理上层代码-1—Process.java
摘要:一、简介 1. 此文件位于 frameworks/base/core/java/android/os/Process.java。是Android中为Java层提供调度相关配置接口的类,其JNI文件是 frameworks/base/core/jni/android_util_Process.cpp。 阅读全文

posted @ 2022-09-14 23:17 Hello-World3 阅读(882) 评论(0) 推荐(0) 编辑

调度器38—cpumask
摘要://include/linux/cpumask.h#define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)#define cpu_online_mask ((const struct cpumask *)&__c 阅读全文

posted @ 2022-08-31 15:51 Hello-World3 阅读(596) 评论(0) 推荐(0) 编辑

调度器35—DEBUG方法汇总-lockdep/hw_breakpoint
摘要:一、基础理论概述 1. 有三种 preemption model 和适用场景 非强占式内核(服务器) 强占式内核(低延迟桌面) voluntary kernel preemption(桌面) 2. 动态功耗 = C * Freq * Voltage^2 其中Freq 是CPU运行频率,Voltage 阅读全文

posted @ 2022-05-01 13:06 Hello-World3 阅读(1422) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示