代码编织梦想

一文搞懂arm soc 功耗控制框架-爱代码爱编程

1, 介绍     随着芯片的集成化程度提升,很多模块都做到芯片的内部,比如isp、dsp、gpu,这样做成片上系统(System on Chip,简称SoC),好处是整个系统功能更内聚,板级面积会减少,但是芯片的体积却越来越大。为了减少芯片面积、降低芯片成本、减少芯片功耗,逐渐地提升了芯片的工艺,从而降低了功耗,提升了能耗比。光靠工艺的提升来减少功耗,

linux:ld动态链接:为何会访问目录tls/i686/sse2/;终于找到原因了。-爱代码爱编程

https://www.linuxquestions.org/questions/programming-9/strange-lib-search-path-lib-tls-i686-sse2-4175447688/ 这里有

3. linux 内核升级之路-爱代码爱编程

内核版本可能分为几个主要类别: 预配(Prepatch) Prepatch或“RC”内核是主要针对其他内核开发人员和Linux爱好者的主流内核预发行版。它们必须从源代码中编译,并且通常包含必须测试的新特性,然后才能将其放入稳定的版本中。预处理内核由Linus Torvalds维护和发布。 主线 主线树由Linus Torvalds维护。这是一棵树,

glibc: ld.so-爱代码爱编程

文章目录 参考 ld.so 的作用 依赖库的搜索顺序 文件介绍 /etc/ld.so.cache /etc/ld.so.preload

linux: vdso:-爱代码爱编程

文章目录 参考 简介 文档说明 背景举例 获取vDSO 文件格式 编译 vDSO名称 strace(1), seccomp(2), and the vDSO 接口(架构

linux: config: config-爱代码爱编程

参考 https://unix.stackexchange.com/questions/118700/what-is-config-base-small-0 config CONFIG_BASE_SMALL=0 CON

文件系统:3. io-爱代码爱编程

Kernel源码笔记目录 sqpoll thread 源码基于5.10 static int io_sq_thread(void *data) { struct cgroup_subsys_state *cur_cs

文件系统:3. io-爱代码爱编程

Kernel源码笔记目录 io_uring_setup 源码基于5.10 io_uring_setup系统调用主要创建一个io_uring的上下文,这个上下文里包含提交,完成队列,创始io_wq worker线程,用于

内存管理:2. slub-kfree-爱代码爱编程

Kernel源码笔记目录 slub释放内存 slub的实现,源码基于5.10。 因为在代码里没有区分slab, slub这些名称,所以在本文中也不区分slab, slub,两个都指的是slub的实现。 void kfr

内存管理:2. slub-kmalloc-爱代码爱编程

Kernel源码笔记目录 slub分配内存 slub的实现,源码基于5.10。 因为在代码里没有区分slab, slub这些名称,所以在本文中也不区分slab, slub,两个都指的是slub的实现。 void *__

内存管理:2. slub-初始化-爱代码爱编程

Kernel源码笔记目录 slub初始化 slub的实现,源码基于5.10。 因为在代码里没有区分slab, slub这些名称,所以在本文中也不区分slab, slub,两个都指的是slub的实现。 kmem_cach

内存管理:2. slub-结构体-爱代码爱编程

Kernel源码笔记目录 Slub-struct struct kmem_cache { struct kmem_cache_cpu __percpu *cpu_slab; // percpu slub /* Use

内存管理:1. slab-kfree-爱代码爱编程

Kernel源码笔记目录 Slab kfree 源码基于5.10 void kfree(const void *objp) { struct kmem_cache *c; unsigned long flags;

内存管理:1. slab-kmalloc-爱代码爱编程

Kernel源码笔记目录 Slab kmalloc 源码基于5.10 前端接口 /** * kmalloc - allocate memory * @size: 需要多少字节内存 * @flags: 分配类型标

内存管理:1. slab-结构体-爱代码爱编程

Kernel源码笔记目录 数据结构 struct kmem_cache { // 每cpu指针,指向包含空闲对象的本地高速缓存 struct array_cache __percpu *cpu_cache; /*

内存管理:1. slab-初始化-爱代码爱编程

Kernel源码笔记目录 slab系统初始化 源码基于5.10 slab系统的初始化分为2部分:kmem_cache_init和kmem_cache_init_late。 slab系统初始化第1部分 // 这是静态

linux 内核驱动位置-爱代码爱编程

驱动加载后常用需要查看的目录: /proc/devices : 查看字符设备设备号 /sys/class/gpio : export/unexport gpio /sys/bus/i2c/devices :查看所有i2c bus下的设备 linux自带驱动存放于内核源码目录具体目录如下 按键驱动 kernal\drivers\input\k

linux: errno: 11 eagain +resource temporarily unavailable-爱代码爱编程

文章目录 错误 说明 proc下的limits文件 代码 错误 2293324 clone(child_stack=NULL, flags=CLONE_CHILD_CLEART

cpufreq 模式切换 --- linux kernel-爱代码爱编程

视 code 如诗词,勿要做无所谓的堆砌 . static int cpufreq_set_policy(struct cpufreq_policy *policy, struct cpuf

论新进程的加入 --- linux kernel-爱代码爱编程

/* * 1 . 我们添加一个 tracepoint 来看下该函数的执行通路 * 2 . 该函数在设计的时候做了怎么样的考虑 * 3 . 该函数可以优化的地方 * 4 . 实验验证. */