10 2022 档案

timerslack 与 sleep()/usleep()
摘要:一、简介 1. timerslack 是 Linux 系统为了降低系统功耗,避免 timer 时间参差不齐,过于的频繁的唤醒 cpu,而设置的一种对齐策略。内核中将相近的定时器到期时间汇聚在一起,这会导致到期时间比定时时间晚一些(但不会提前)。 2. 会被timer slack到期时间影响的函数集有 阅读全文

posted @ 2022-10-19 22:34 Hello-World3 阅读(931) 评论(0) 推荐(0) 编辑

Linux 性能1-perf
摘要:参考: 一文看得 Linux 性能分析|perf 原理:https://mp.weixin.qq.com/s/Vj418ZwVe6PxE1erDu8bkg一文看懂 Linux 性能分析|perf 实现:https://mp.weixin.qq.com/s/6kTe0eO1AmPPHbSQ_2Ld_Q 阅读全文

posted @ 2022-10-15 10:23 Hello-World3 阅读(66) 评论(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 阅读(132) 评论(0) 推荐(0) 编辑

tracer ftrace笔记(10)—— trace内容分析
摘要:基于Linux-5.10 一、trace打印格式 1. 在把 raw trace 数据格式化成用户可读的形式时,trace数据分成两部分:一部分是 common 信息,一部分是用户自定义的 trace 信息,这两部分分开格式化。 common信息: 这部分有系统根据当前是 “Normal forma 阅读全文

posted @ 2022-10-11 16:57 Hello-World3 阅读(907) 评论(0) 推荐(0) 编辑

tracer ftrace笔记(9)—— TRACE_EVENT 初始化
摘要:基于Linux-5.10 一、内核启动时遍历 trace_event_call 初始化流程 1. TRACE_EVENT()多次展开定义了各种实现函数以后,最终把本 event 的所有的函数和数据存放在一个类型为 struct trace_event_call 的顶层变量中,并且会把指针存放到 se 阅读全文

posted @ 2022-10-11 16:22 Hello-World3 阅读(531) 评论(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 阅读(500) 评论(0) 推荐(0) 编辑

导航