02 2023 档案

MTK平台总结
摘要:1. 通过cmdline参数不对printk打印速率进行限制:mt_boot.c kcmdline_append(" ignore_loglevel=1 printk.devkmsg=on "); 2. MTK内核低于5.10项目定频方法 (1) 通过 hard_userlimit_max/min_ 阅读全文

posted @ 2023-02-23 14:56 Hello-World3 阅读(608) 评论(0) 推荐(0) 编辑

调度器45—wake_affine
摘要:基于 Linux-5.10 一、wake_affine 简介 1. 背景 在进程唤醒选核路径中, wake_affine 倾向于将被唤醒进程(wakee)尽可能安排在 waker所在 CPU 上, 这样考虑的原因是: 有唤醒关系的进程是相互关联的, 尽可能地运行在具有 cache 共享的调度域中, 阅读全文

posted @ 2023-02-18 22:57 Hello-World3 阅读(329) 评论(0) 推荐(0) 编辑

调度器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 阅读(191) 评论(0) 推荐(0) 编辑

Linux内核机制—smp_hotplug_thread
摘要:基于Linux-5.10 一、简介 1. 只是一个创建per-cpu线程执行用户提供的回调的机制。 2. 内核中已存在的注册 static struct smp_hotplug_thread idle_inject_threads = { //drivers/powercap/idle_inject 阅读全文

posted @ 2023-02-12 21:12 Hello-World3 阅读(1048) 评论(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 阅读(206) 评论(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) 编辑

稳定性-1——MTK KE 分析报告获取和T32解析
摘要:一、相关工具 QAAT_20210306.rar //里面有QAAT UserGuide.pdf SpOfflineDebugSuite_exe_v3.8.rar 工具获取地址:https://online.mediatek.com/tool/download/49a543be-c043-4610- 阅读全文

posted @ 2023-02-08 11:47 Hello-World3 阅读(935) 评论(0) 推荐(0) 编辑

RCU-1——内核文档翻译——RCU-tasks
摘要:一、The RCU-tasks subsystem:https://lwn.net/Articles/607117/ 翻译 读取-复制-更新(RCU)机制负责保留旧版本的数据结构,直到它知道没有 CPU 可以保存对它们的引用; 一旦发生这种情况,就可以释放这些结构。 不过最近,一位潜在的 RCU 用 阅读全文

posted @ 2023-02-06 20:49 Hello-World3 阅读(273) 评论(0) 推荐(0) 编辑

导航