上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 71 下一页

2023年4月27日

RCU-4——不可抢占RCU代码分析

摘要: 基于 Linux-5.10 一、不可抢占RCU 1. 不可抢占RCU不允许进程在读端临界区被其它进程抢占,使用函数 rcu_read_lock_sched()/rcu_read_unlock_sched() 标记读临界区。前者禁止内核抢占,后者开启内核抢占。 static inline void r 阅读全文

posted @ 2023-04-27 21:04 Hello-World3 阅读(275) 评论(0) 推荐(0)

RCU-3——经典(可抢占)RCU代码分析

摘要: 基于 Linux-5.10 一、相关数据结构 1. struct rcu_state rcu_state 用于描述RCU全局状态。 struct rcu_state { struct rcu_node node[NUM_RCU_NODES]; /* Hierarchy. */ struct rcu_ 阅读全文

posted @ 2023-04-27 20:58 Hello-World3 阅读(1060) 评论(0) 推荐(0)

RCU-2——RCU初探

摘要: 一、RCU简介 RCU(Read-Copy-Update)的意思是读-复制-更新,是根据原理命名的。写者修改对象的逻辑是: 首先复制一个副本,然后更新这个副本,最后使用新的对象替换旧的对象。在写者执行复制更新的时候读者可以读数据。 写者删除对象,必须要等到所有读者结束访问,才能执行销毁操作。RCU的 阅读全文

posted @ 2023-04-27 20:38 Hello-World3 阅读(697) 评论(0) 推荐(0)

2023年4月20日

RT-Mutex-3——实现分析-pi-futex与rt-mutex

摘要: 一、rt-mutex 的原理 PI-futex是通过rt mutex来实现的,因此我们这里简单的聊一聊内核的这个PI-aware mutex。 从rt mutex的视角看任务: rt_mutex_waiter 用来抽象一个阻塞在 rt mutex 的任务:task 成员指向这个任务,lock 成员指 阅读全文

posted @ 2023-04-20 22:27 Hello-World3 阅读(658) 评论(0) 推荐(0)

2023年4月15日

Android中GC—初探-1—触发时机和条件

摘要: 一、GC 简介 Java 对象的创建由 Allocator 负责,回收由 Collector 负责。从 Android O 开始,对于前台应用默认的 GC Collector 是 CC(Concurrent Copying) Collector,与之相匹配的 Allocator 则是 Region- 阅读全文

posted @ 2023-04-15 12:20 Hello-World3 阅读(1256) 评论(0) 推荐(1)

2023年3月24日

Makefile笔记(5)——经典案例

摘要: 1. Makefile中使用shell脚本 msm-5.10/tools/testing/selftests/futex$ cat Makefile # SPDX-License-Identifier: GPL-2.0 SUBDIRS := functional TEST_PROGS := run. 阅读全文

posted @ 2023-03-24 00:01 Hello-World3 阅读(63) 评论(0) 推荐(0)

2023年3月3日

Cgroup学习笔记3—代码实现—相关结构和全局变量

摘要: 基于 LInux-5.10 一、相关结构 1. 通过多次的 #define 和 #undef SUBSYS 宏来展开 cgroup_subsys.h 中通过 deconfig 使能的 cgroup 子系统来填充相关结构体。 在 include/linux/cgroup-defs.h 中以 SUBSY 阅读全文

posted @ 2023-03-03 11:34 Hello-World3 阅读(901) 评论(0) 推荐(0)

2023年2月23日

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 阅读(819) 评论(0) 推荐(0)

2023年2月16日

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

2023年2月12日

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 阅读(1323) 评论(0) 推荐(0)

上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 71 下一页

导航