12 2021 档案

调度器24—CFS任务选核
摘要:一、select_task_rq_fair()函数 CFS任务选核最终都是要走 select_task_rq_fair() 函数,三种CFS选核路径如下: try_to_wake_up //core.c select_task_rq(p, p->wake_cpu, SD_BALANCE_WAKE, 阅读全文

posted @ 2021-12-30 22:56 Hello-World3 阅读(3199) 评论(0) 推荐(0) 编辑

Linux驱动中继承与多态思想_C
摘要:一、函数实现多态 1. 定义全局模板函数集 //thermal_of.c static struct thermal_zone_device_ops of_thermal_ops = { .get_trip_type = of_thermal_get_trip_type, .get_trip_tem 阅读全文

posted @ 2021-12-23 17:16 Hello-World3 阅读(267) 评论(0) 推荐(0) 编辑

attribute section 属性
摘要:一、__attribute__((__section__(section_name))) 简介 1. __attribute__((section("name"))) 是gcc编译器支持的一个编译特性(arm编译器也支持此特性),实现在编译时把某个函数/数据放到名为name的数据段中。原理如下:(1 阅读全文

posted @ 2021-12-22 22:22 Hello-World3 阅读(5599) 评论(0) 推荐(0) 编辑

使用二级指针辅助遍历的单链表
摘要:1. 代码 #include <stdio.h> #include <stddef.h> struct notifier_block { struct notifier_block *next; int priority; }; struct notifier_block *head = NULL; 阅读全文

posted @ 2021-12-13 13:07 Hello-World3 阅读(65) 评论(0) 推荐(0) 编辑

数据结构——TODO
摘要:llist --done hlist --应该就是单链表吧 plist --done xarray ida idr rculist rculist.h 阅读全文

posted @ 2021-12-13 12:44 Hello-World3 阅读(73) 评论(0) 推荐(0) 编辑

调度器21—负载均衡—4—load_balance()函数分析
摘要:一、概述 1. 负载均衡的情景包括 tick balance、nohz idle balance 和 new idle balance,最终都会汇聚到 load_balance 函数来完成具体的负载均衡工作。 二、load_balance 相关数据结构 1. struct lb_env 在负载均衡的 阅读全文

posted @ 2021-12-10 17:49 Hello-World3 阅读(2384) 评论(0) 推荐(0) 编辑

调度器26—Linux内核中的各种时间频率
摘要:一、各种时间的打印 1. per-cpu的各种类型的使用时间 # ls -l /proc/stat -r--r--r-- 1 root root 0 2021-01-01 19:46 /proc/stat # cat /proc/stat cpu 203632 46353 386930 318155 阅读全文

posted @ 2021-12-09 11:33 Hello-World3 阅读(1541) 评论(0) 推荐(0) 编辑

调度器19—/proc/sched_debug文件
摘要:一、打印说明 1. 打印内容 # cat /proc/sched_debug Sched Debug Version: v0.11, 5.10.xx-android12-x-xx-xxxxxxxxx #1 ktime : 20791668.206238 sched_clk : 20791683.11 阅读全文

posted @ 2021-12-08 20:23 Hello-World3 阅读(1764) 评论(0) 推荐(0) 编辑

调度器18—/proc/schedstat文件
摘要:一、打印说明 1. 打印文件 kernel/sched/stats.c // SPDX-License-Identifier: GPL-2.0 /* * /proc/schedstat implementation, kernel/sched/stats.c */ #include "sched.h 阅读全文

posted @ 2021-12-08 17:54 Hello-World3 阅读(1261) 评论(0) 推荐(0) 编辑

VFS虚拟文件系统
摘要:一、VFS简介 Linux 采用 Virtual Filesystem(VFS)的概念,通过内核在物理存储介质上的文件系统和用户之间建立起一个虚拟文件系统的软件抽象层,使得 Linux 能够支持目前绝大多数的文件系统,不论它是 windows、unix 还是其他一些系统的文件系统,都可以挂载在 Li 阅读全文

posted @ 2021-12-08 11:24 Hello-World3 阅读(1196) 评论(0) 推荐(0) 编辑

给Linux内核提交代码
摘要:参考: 给Linux内核提交代码: https://wushifublog.com/2020/01/29/%E7%BB%99Linux%E5%86%85%E6%A0%B8%E6%8F%90%E4%BA%A4%E4%BB%A3%E7%A0%81/ 阅读全文

posted @ 2021-12-08 10:37 Hello-World3 阅读(185) 评论(0) 推荐(0) 编辑

调度器17—preempt_count和各种上下文
摘要:基于Arm64 linux-5.10 一、主要实现文件 1. preempt_count的位置 //arch/arm64/include/asm/preempt.h static inline int preempt_count(void) { return READ_ONCE(current_th 阅读全文

posted @ 2021-12-06 22:46 Hello-World3 阅读(1788) 评论(0) 推荐(0) 编辑

导航