- 博客(44)
- 资源 (3)
- 收藏
- 关注
原创 Linux电源管理(五),发热管理(thermal),温度控制 (结合设备树 和ACPI Source Language(ASL)分析)
thermal-zones, cooling_device, thermal, step_wise, thermal_governor, pwm-fan
2025-05-12 19:32:00
704
原创 Linux电源管理(四),设备的Runtime Power Management(RPM)
rpm, rpm_idle(), rpm_suspend(), rpm_resume(), Autosuspend, runtime_suspend(), runtime_resume(), runtime_idle()
2025-04-24 19:34:25
1068
原创 linux电源管理(二),内核的CPUFreq(DVFS)和ARM的SCPI
CPUFreq, DVFS,SCPI, cpufreq_driver, governor, ARM SCPI, scpi-cpufreq
2025-04-14 16:42:09
1054
原创 Linux电源管理、功耗管理 和 发热管理 (CPUFreq、CPUIdle、RPM、thermal、睡眠 和 唤醒)
Linux设备驱动开发详解:基于最新的Linux4.0内核》图19.1。
2025-04-10 11:38:45
217
原创 Linux电源管理(一),系统的待机、睡眠 和 唤醒
待机, 休眠, suspend, hibernate, standby, s2idle, s2ram, ACPI S3/S4
2025-04-10 11:24:01
468
原创 Linux系统块存储子系统分析记录
blk-mq, bio, gendisk, block_device, Block Device, SCSI, NVMe
2024-10-24 10:58:44
1576
原创 Linux内核DRM显示功能框架中,获取分辨率、刷新率等参数的方式
drm_connector, drm_display_mode, 分辨率, 显示时序, EDID
2024-08-26 00:30:08
2001
原创 linux内核 时间同步机理分析笔记
struct timekeeper定义在include/linux/timekeeper_internal.h中,保存了各种计时值。它是维护并操纵不同时间线的计时数据的主要数据结构,比如单调时间和原始时间《Linux内核精析》12.3.2 timeval和timespec当linux内核记录的时间比标准时间慢时,时间同步程序会修改内核的mult变量,让内核时间走的快一些;当linux内核记录的时间比标准时间快时,时间同步程序会修改内核的mult变量,让内核时间走的慢一些。
2024-08-20 00:18:42
1281
原创 Linux内核中网络数据的流量控制(TC: Traffic control 和 QDISC)
tc, qdisc, class, classifier, action, 网络流量控制
2024-06-27 18:29:19
1831
原创 Linux内核下网卡硬件 MAC 和PHY分析笔记
mac, phy, mdio, fixed-link, Fixed MDIO bus, phy-mode, phy-connection-type, rgmii, genphy_driver, mdiobus_scan
2024-06-08 17:55:29
2372
原创 Linux内核下RAS(Reliability, Availability and Serviceability)功能分析记录
EDAC, APEI, AMDGPU RAS Support, ARMv8 RAS System Architecture
2024-05-13 18:07:52
3329
原创 linux input system 分析笔记
input system, input_dev, input_handler, input_handle, input_event, evdev_write, /dev/input/eventX, EV_KEY, EV_SW, EV_LED
2024-04-15 15:07:20
1072
原创 Linux下性能分析的可视化图表工具
sar,sadf,cpuplayer,gnuplot,Heat Map,perf timechart, trace-cmd,kernelshark
2024-02-28 00:04:21
1854
1
原创 linux内核下,rapidio网络系统建立的过程(枚举 和 发现)
rio_enum_mport() rio_disc_mport() rio_clear_locks() rio_enum_peer()
2023-12-12 16:21:47
1634
原创 linux内核下,(rapidio)TSI721芯片的doorbell和message数据收发流程分析笔记
tsi721_dsend(), tsi721_add_outb_message(), tsi721_get_inb_message()
2023-12-09 22:55:42
1049
原创 eBPF、BCC、bpftrace、perf-tools、sar、vmstat 和 mpstat等linux内核调试工具
eBPF, BCC, bpftrace, perf-tools
2023-11-15 12:04:58
295
原创 linux-5.4.18内核强制输出图形显示信号 并通过firmware文件指定分辨率
DRM, connector_status_connected,edid
2023-11-05 12:02:35
1550
15
原创 Realtek的ALC260音频codec芯片的引脚复用设置(pincfg)
linux下修改音频codec的pin Configuration,ALC260
2023-08-30 16:58:26
855
原创 linux内核使用macvlan实现虚拟网卡的性能问题
网络接收端:四个虚拟机(kernel-5.4.18)。这四个虚拟机安装在同一个物理机上(kernel-4.19)。网络发送端:任意机器。
2023-05-07 15:43:47
647
原创 linux内核下,(rapidio)TSI721芯片的block DMA分析笔记
tsi721_rio_map_inb_mem(), rio_test_dma, NWRITE_R, tsi721_start_dma(),
2023-04-29 18:01:46
2498
原创 kernel-5.4下进行rapidio网络压力测试(rionet)时,网络堵塞、卡死
rapidio rionet tsi721 iperf3
2023-04-29 16:04:58
893
1
原创 linux进程、线程、进程组、线程组、task_struct、内核栈、用户栈和进程地址空间等学习笔记
1 进程描述符 task_struct 和 线程描述符 thread_info1.1 task_struct 简介Linux 内核涉及进程和程序的所有算法都围绕一个名为 task_struct 的数据结构建立。 《深入 LINUX 内核架构》P32 task_struct 相对较大,在 32 位机器上,它大约有 1.7KB。但如果考虑到该结构内包含了内核管理一个进程所需的所有信息,那么它的大小也算相当小了。进程描述符中包含的数据能完整地描述一个正在执行的进程:它打开的文件...
2021-05-13 16:41:38
1789
原创 linux /proc目录下的文件
1/proc/sys/vm/目录下的文件1.1dirty_background_bytes:脏页限值Contains the amount of dirty memory at which the pdflush background writeback daemon will start writeback.Note: dirty_background_bytes is the counterpart of dirty_background_ratio. Only ...
2021-04-20 17:26:12
2475
原创 在linux4.19内核下的UPD720201驱动里添加固件下载的代码
目录1 简介2 UPD720201寄存器上的信息2.1 相关寄存器2.2 读ROM的步骤(How to read ROM Data from External ROM)2.3 写的步骤(How to write FW to External ROM)3 修改驱动代码3.1 添加ROM擦除函数3.2 添加向ROM里写固件的函数3.3 添加从ROM里读数据的函数3.4 调用新添加的函数4 将固件编译到内核镜像里1 简介 在系统上电的时候,UPD7...
2021-02-27 19:39:23
5906
6
原创 linux3.10系统下CH432T(SPI转串口)调试笔记
目录1 CH432T 芯片的 SPI 通讯协议1.1 SPI 时钟相位模式和片选1.2 SPI 通讯协议2 CH432 关键寄存器表3 通讯时发生数据丢失3.1 ch432手册分析3.2 spi 时钟为 6.25M 时 SPI 总线上发送一个字节所需时间计算3.3 CH432 的 FIFO 为 16 个字节,计算 115200 波特率如何读取 FIFO 才不会溢出3.4 实际量测的 SPI 总线和串口接收中的的波形3.4.1 有问题的信号,中断出现长时间拉低3.4
2021-02-27 18:26:33
3192
1
原创 linux4.19调度类分析
目录1 调度类1.1 调度类结构体:struct sched_class1.2 停机调度类:stop_sched_class1.3 限期调度类:dl_sched_class1.4 实时调度类:rt_sched_class1.5 公平调度类:fair_sched_class1.6 空闲调度类:idle_sched_class1 调度类1.1 调度类结构体:struct sched_class//kernel/sched/sched.hstructsched_cla.
2021-02-25 20:14:19
917
原创 xenomai在linux4.19内核下的ipipe中断处理(ARM64)
目录1 ARM64异常向量表1.1 简介1.2 内核启动时异常向量表的设置1.3 内核模式(异常级别1)的中断入口:el1_irq1.3.1 打过xenomai补丁的el1_irq汇编函数1.3.2 irq_handler1.3.3 handle_arch_irq()——中断处理程序C语言部分的入口2 中断控制器GIC-4002.1 简介2.2 中断控制器匹配表和中断控制器驱动初始化2.2.1 中断控制器匹配表2.2.2 中断控制器初始化过程2.3 GIC
2021-02-15 16:55:26
3671
2
原创 linux中断,中断亲和性,IPI中断,中断线程化,中断计数,软中断 和 调试方法
目录1 基础知识1.1 同步中断和异步中断1.2 中断上下文1.3 中断处理程序栈1.4 中断处理程序的重入1.5 中断的返回2 顶半部和底半部(推后执行的工作)2.1 简介2.2 软中断2.3 tasklet2.4 工作队列2.5 内核定时器2.6 底半部机制的选择3 中断亲和性4 IPI(Interrupt-Procecesorr Interrupt):处理器中间的中断5 /proc/ 目录下中断相关的文件5.1 /proc/inter
2020-09-16 16:43:18
6387
1
原创 龙芯的PMON(bootloader)常用功能记录
1 用不同的方式加载内核镜像1.1JTAG 加载 kernelPMON启动成功后,进入JTAG命令行,执行以下命令:put vmlinuz 0xffffffff84000000put vmlinuz 0xffffffff84000000cont1.2 U盘加载 kernel
2020-09-02 22:54:49
4547
原创 linux内核内存slab,伙伴系统,内存碎片,内存耗尽(OOM)杀手,内存资源控制器memcg,KASAN学习笔记(内容正在更新...)
目录1 基础知识1.1 页1.2 页表1.3 UMA(一致性访问) / NUMA(非一致性访问)1.4 高端内存和低端内存1.5 内存模型2 物理内存的管理2.1 物理内存的组织:节点和管理区(内存域)简介2.1.1 简介2.1.2 相关函数2.2 伙伴系统2.2.1 简介2.2.2 伙伴系统实现原理2.2.3 /proc/buddyinfo 中获得伙伴系统的当前信息3 slab 分配器3.1 slab简介3.2 常用函数3.3 /pr
2020-08-31 23:18:39
3315
2
原创 linux内核性能分析工具perf学习记录
目录1 基础知识1.1 简介1 基础知识1.1 简介perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU(Performance Monitoring Unit))功能和软件(软件计数器、tracepoint)功能。通过perf,应用程序可以利用PMU、tracepoint和内核中的计数器来进行性能统计。它不但可以分析制定应用程序的性能问题(per thread),也可以用来分析内核的性能问题,当然也可
2020-08-31 21:04:05
3940
ls2k1000 DVO转HDMI(sii9022a)配置程序
2018-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人