首页
Archive
Tags
Categories
About Me
Categories
ARM
12
database
6
debug
6
distributed system
3
file system
3
hardware
1
I/O
9
内存管理
4
内存管理/features
11
network
1
other
8
模式
5
进程调度
4
tools
2
ARM
arm linux的ASID (Address Space ID)
ARM的一些汇编
从create_mapping()看arm linux的页表
arm linux中断处理过程中寄存器的保存
arm linux的iounmap()如何处理主页表(master page table)的同步
关于arm linux的map_io
qemu观察arm linux启动过程01
qemu观察arm linux启动过程02
arm linux多核同时获取读写锁, 会死循环吗, 还是都得到写锁
为何中断handler中可以使用current
中断, softirq, tasklet的区别
关于THREAD_START_SP
database
数据库recovery的一些基本概念
LevelDB 01: 数据安全
LevelDB 02: snapshot
LevelDB 03: 数据格式
LevelDB 04: Compact
LevelDB 05: 性能
debug
让blktrace输出trace_printk的内容
x86-64下, crash通过bt -f找出函数参数
使用ftrace分析两时间点间隔
因果倒置
探测softlockup的原理
内核中 通过 struct pt_regs 来获取 用户传递的参数
distributed system
关于 longhorn 快照的自问自答
从故障场景看paxos
使用lab来理解raft
file system
bit rot
ext2 disk layout
JBD初步
hardware
IIC相关内容的记忆
I/O
什么情况下bio->bi_end_io发生时中断是禁止的?
deadline-iosched
address_space和buffer_head的一些field
generic_perform_write流程
do_generic_file_read中的readahead
读写函数中的lock_page
set_buffer_new
tag TOWRITE to avoid livelocking?
回写路径
内存管理
do_fork和COW
fixup_exception
flush_dcache_page
mmap和fault handler
内存管理/features
page reclaim 00:相关资料
page reclaim 01:概述
page reclaim 02:实现
page reclaim 03:活跃度的表示和状态转换
page reclaim 04:参数
page reclaim 05:page count
page reclaim 06:ARM和L_PTE_YOUNG
SLUB 02:frozen
SLUB 03:partial和cpu partial
SLUB 01:the SLUB allocator的相关数据结构和主要流程
SLUB 04:tid
network
(草稿)调试k8s网络
other
关于arm linux中kthread()中的do_exit()
内核线程的park和unpark
RCU常见问题
Rust Atomics and Locks 摘录和评注
信号
perfbook 01 摘录
(草稿)perfbook 02 自问自答
perfbook 03 barrier
模式
模式 02: IO性能优化的一些方法
模式 01: 内核中常见的性能优化方法
模式 03: 用户态的一些性能优化方法
模式 05: 大规模系统的一些处理方法
模式 04: trouble less 的一些模式(待更新)
进程调度
调度器CFS的实现
调度器, 从lost wake-up problem说起
仅检查TIF_NEED_RESCHED,不检查preempt_count?
arm linux的switch_to
tools
让 source insight 识别出 非标准的函数实现
推荐C++编辑器 Clion