缓存行cacheline64字节为什么这是性能优化的圣杯

4197
4
2026-05-05 22:49:05
101
38
165
11
你写两个完全独立的变量,CPU0 改一个、CPU1 改另一个,按理互不干扰。但跑起来你会发现,性能比单线程还慢 10 倍——这一切背后藏着一个硬件给出的小数字:64 字节缓存行。 为什么是 64 不是 32 也不是 128?这不是软件的随意选择,而是 DDR SDRAM burst 长度(8 拍)乘以总线宽度(64bit / 8 字节)凑出的天然粒度。一次内存事务恰好填满一行,多搬不浪费、少搬不够用。Intel、AMD、ARM 主流架构全都统一到这个数字。 但当多核世界遇上 64 字节缓存行,就出现了所有性能工程师必须面对的难题——伪共享(False Sharing)。两个本来不相干的变量,只要恰好挤在同一行 64 字节里,硬件就会把整行在多个核心之间反复弹来弹去。MESI 协议下每一次 M ↔ I 的状态切换都是几百个时钟周期。本期视频用一个 8 核 1 亿次累加的 benchmark 给你看真实数字:不加 padding 时每秒 1.2 亿次,加上 ____cacheline_aligned 后每秒 12.4 亿次——10 倍差距,就因为一个 56 字节的 padding 字段。 我们会从一个共享记事本的生活类比切入,画出三级缓存层次(L1/L2/L3 + 主存),讲清楚 MESI 状态机如何让伪共享发生,然后深入 Linux 内核源码看四个真实的化解方案:____cacheline_aligned 宏的 GCC attribute 展开、CONFIG_SMP 条件编译的零开销技巧、struct rq runqueue 的对齐布局、per-CPU 数据如何从源头消除共享、__read_mostly 段如何让只读热数据集中。最后还会教你用 perf c2c 这个鲜为人知的工具线上诊断伪共享热点。 致敬四位推动这一切的关键人物:Linus Torvalds 在 SMP 化早期反复强调"对齐就是性能";Paul McKenney 在《Is Parallel Programming Hard》里把 cacheline 工程化方法论写成教材;Peter Zijlstra 把 spinlock、rwsem 这些每秒数千万次访问的结构精算到字节;Ingo Molnar 让 CFS 调度器和 per-CPU runqueue 在几百核上仍能线性扩展。 本期内容: - 64 字节这个数字怎么来的:DDR burst × 总线宽度的硬件物理结构 - L1/L2/L3 三级缓存层次:从纳秒级寄存器到百纳秒级主存 - MESI 缓存一致性状态机:Modified/Exclusive/Shared/Invalid 四态转换 - 伪共享的代价:cacheline 在多核间反复弹跳的时序流程 - ____cacheline_aligned 宏的展开:GCC __attribute__((aligned(64))) + CONFIG_SMP 条件编译 - 内核源码实战:runqueue、spinlock、per-CPU 数据三种典型化解方案 - 用 perf c2c 工具线上诊断 false sharing 热点 适合人群:写过高并发服务的后端工程师、Linux 内核学习者、想把多核性能榨干的系统工程师、JVM/Go/Rust 高级开发者、对 CPU 体系结构和缓存一致性协议好奇的朋友。 理解了 64 字节这个数字,你看任何高性能并发代码都会立刻打通任督二脉——为什么 Java 要 @Contended、为什么 Rust 要 repr align、为什么 spinlock 旁边都加一堆看起来没用的 padding。这不是奇技淫巧,是物理边界给软件的硬约束。 #Linux内核 #性能优化 #缓存行 #伪共享 #多核并发 #CPU架构 #FalseSharing #MESI #percpu #cacheline
深度解析+架构分析+有效性探索(原linux小兵)
自动连播
36.3万播放
简介
Linux内核的终极置换:深入解析execv系统调用
08:07
Linux Fork系统调用的前世今生
07:45
消失的3536字节——用户程序栈的内存布局
15:28
eBPF(1)一场深入内核的苏格拉底式探索
08:18
eBPF-3 Tail call的原理
10:58
Ctrl+C 为什么能杀死程序?Linux信号机制讲透
15:17
Linux 线程到底是什么?clone 系统调用解析
12:33
【sched_ext】第3期:深入 sched_ext 架构 — BPF 如何接管 CPU 调度
16:06
【sched_ext】第5期:sched_ext 实战调优 — 游戏编译容器场景性能对比
07:55
调度器也能像积木一样拼?sched_ext 2026路线图
20:25
系统调用是如何进入内核的syscall路径解析
18:19
read系统调用在内核里经历了什么
13:45
write系统调用完整路径解析
23:56
printf为什么能把内容打印到屏幕
15:52
CoreDump是怎么生成的
19:49
Linux进程地址空间到底长什么样
15:51
文件越读越快,Linux Page Cache 到底做了什么
13:42
Sleepable BPF终于能拿锁了——Linux BPF探针从只读观测到可写干预的进化之路
13:22
【sched-ext】第1期:Linux 调度器为什么需要革命 — sched_ext 诞生的背景
13:44
【sched_ext】第4期:用 Rust 写一个自定义调度器 — scx_rustland 源码解析
08:35
【sched_ext】第2期:5分钟跑通你的第一个 sched_ext 调度器
08:17
一个游戏调度器,凭什么接管Meta数据中心
29:01
隔壁核心延迟暴涨4倍,调度器居然看不见
22:18
换个调度器游戏就不卡了?Linux桌面调度生态
23:56
一个进程从创建到退出经历了什么
13:21
用户态和内核态到底有什么区别
12:09
为什么Linux一切皆文件
20:05
Linux 7.0调度器EEVDF的6层优化让你的进程快3倍
19:28
一张图搞懂eBPF数据路径如何让网络包处理快10倍
23:46
sched_ext GPU感知调度让AI训练微延迟降低40%的底层原理
15:56
CPU缓存背着你偷偷干了什么MESI协议4种状态的真相
22:45
Intel缓存感知调度让多线程快30%的4层Cache拓扑优化
18:24
图解eBPF验证器如何保证内核安全运行用户代码的5道防线
22:37
Linux用BPF重写OOM Killer让你自己决定杀哪个进程的3层钩子设计
20:05
程序崩溃时Linux内核做了什么
16:41
后台拷贝文件浏览器就卡死?一个调度器参数拯救你的Linux桌面
20:50
CPU空闲90%程序却卡死?五大元凶一次讲透
23:07
虚拟内存到底是什么
15:45
TLB为什么能加速内存访问
14:59
页表是如何工作的
14:16
Linux 7.0 KVM嵌套虚拟化MBEC支持——虚拟机套娃性能损失减半的底层原理
10:06
系统调用的旅程:从用户应用到内核再返回
11:20
原子指令:高并发软件设计的基础
09:27
一切高并发的基础——CPU原子指令
18:21
fork的前世今生
18:07
Claude Code CLI中的CLI到底是什么技术?其实还是跟Linux内核有关
17:34
KVM虚拟化:从问题到洞见
07:43
KVM——linux底层虚拟化机制揭秘
23:48
【播客风格】eBPF解构-1 为什么eBPF会横空出世
13:22
eBPF-2 深入解析eBPF架构与工程取舍
08:51
【播客eBPF到底是什么?】核心原理解构
14:27
【边听边摸鱼】Linux怎么创建第一个用户态进程的?
29:25
Linux中高并发的核心技术——spinlock的进化史
20:02
只有4个字节的Linux内核地基-qspinlock高性能原理解析
25:16
fork 为什么几乎不复制内存?Copy-on-Write 原理
16:08
为什么 Linux 能同时运行几万个程序?调度器揭秘
25:08
[闲聊sched_ext]不重启给Linux内核换心脏?
25:39
手撕io_uring异步IO代码,从零实现高性能echo服务器
27:48
一次syscall干掉百万IOPS瓶颈,io_uring凭什么
22:24
逐行拆解Linux内核io_uring源码,环形缓冲区的极致设计
36:25
Docker不是虚拟机——一个clone调用撕开容器隔离的真相
16:40
深入Linux内核源码:Docker容器的namespace和cgroup到底怎么实现的
23:11
手撕迷你Docker:200行C代码实现容器的namespace+cgroup+overlayfs
16:13
一次read调用背后的三级加速链路,Page Cache凭什么比CPU Cache慢100万倍
19:16
Page Fault发生时Linux内核做了什么
16:33
深入Linux内核源码,schedule函数每一行都是智慧
31:32
CPU的选择困难症,Linux内核调度器的秘密
17:06
手撕Linux调度器,从红黑树到进程切换每步都讲透
28:26
你敲下回车那一刻,操作系统在干什么
14:36
深入bash和Linux内核源码:CLI背后的fork exec pipe全链路
27:13
手撕C语言mini-shell:从词法分析到管道执行每一行都讲透
23:55
Rust版BUS1重回Linux内核——消失10年用9000行代码重写进程通信
08:05
Linux 7.0 io_uring bounce buffer——让DMA受限设备IO翻倍的底层设计
09:01
你按Ctrl+C时内核到底干了什么?PTY伪终端深度解析
06:13
一个系统调用凭什么串联五大子系统?mmap深度解析
14:25
深入Linux源码:mmap一行代码背后的内核风暴
29:28
手撕mmap源码:从文件映射到零拷贝的每一步
21:34
mmap为什么这么强大
11:06
Linux调度器五代演进从O(n)到sched_ext的架构革命
04:33
Linux不停机换内核——LUO用4个状态机实现零宕机热升级
11:25
Linux 7.1给cgroup装上子调度器——1台机器跑N个调度策略
10:36
malloc背后到底发生了什么
08:15
malloc背后的秘密你以为分配了内存其实一个字节都没给
15:45
深入Linux内核源码mmap到底在做什么从glibc到page fault逐行追踪
20:00
手撕mmap与malloc源码每一行C代码都不放过从brk到page fault
22:34
brk与mmap有什么区别
06:03
一张图看透进程虚拟地址空间从栈到堆的完整布局
02:56
一切皆文件的真相Linux内核file_operations20个成员逐个拆解
13:54
Linux Buddy Allocator内存分配器原理
13:47
一个网络包进入Linux内核后经历了什么
09:58
Linux 7.0大块内存分配从3.6秒压到0.43秒的8倍提速秘密
06:59
Rust在Linux内核毕业了7.0 Driver Core的3层改造深度解析
11:12
SLAB分配器是如何工作的
12:33
Linux 7.1终于砍掉i486——14年后丢掉32位兼容层的3个历史包袱
07:46
Linux 7.1 QAT驱动硬件卸载Zstd压缩——CPU压缩开销降为0的底层设计
09:57
LinuxPageCache为什么能让IO变快
12:02
为什么文件读取会越来越快PageCache原理
14:21
图解Linux 7.0 NULLFS幽灵文件系统——不可变空根让容器逃逸无从下手
08:45
Linux 7.0文件系统会自愈了——xfs_healer后台自动修复20TB磁盘不用停机
08:09
网络包在内核中的完整处理路径
07:59
CPU Cache是如何工作的
06:29
Copy-on-Write内核实现解析
12:19
fork为什么这么快内核实现揭秘
13:26
Linux 7.1砍掉UDP-Lite——包转发速度回来10%清理20年代码的3个底层原因
12:22
Linux 7.1给Panther Lake装上FRED——系统调用延迟减半的3层新架构
12:43
Meltdown 到底是个啥?3 分钟看穿 CPU 的隔离墙
13:53
如果让你设计 Meltdown 防御,你会选哪个?一套页表还是两套
17:48
深入 Meltdown 与 KPTI:两块白板凭什么救回 Linux 内核
18:38
22 岁撕开 CPU 20 年旧伤:Meltdown 不为人知的诞生
18:39
图解Linux 7.1 HRTIMER重构-高频触发定时器开销砍半的3层底层改造
11:06
Linux 7.1多调度器革命-sched_ext子调度器让AI和Web工作负载互不打架的3层架构
11:29
Linuxswap机制是如何工作的
17:51
NUMA架构到底是什么
16:07
HugePage凭什么把TLBmiss压到1比512透明大页的3个性能真相
12:57
kswapd内核线程默默工作30年4个步骤回收内存的幕后英雄
11:38
Linux中断的30年进化从tophalf到softirq到threadedIRQ的3次革命
15:09
一张图看懂Linux内存管理5层架构从malloc到物理页的完整之旅
14:33
Linux内存回收到底怎么工作kswapd和directreclaim的2条通道
11:04
OOMKiller凭什么敢杀你的进程Linux的3步量刑算法揭秘
08:40
Linux 7.1调度器进化-newidle balance 40行代码让FIO快10%的底层原理
11:46
33个补丁修memcg僵尸cgroup-容器启停100次后内存莫名涨200MB的3年谜团
11:59
Linux 7.1 BPF验证器逐指令睡眠跟踪-3倍加速32KB字节码校验的新算法
10:54
Linux 7.1 ublk终于拿到零拷贝-用户态块设备10年进化追上内核驱动的3层改造
12:07
io_uring装上BPF替代epoll的3个关键-Linux 7.1内核态事件循环深度解析
10:10
Linux 7.1 Btrfs shutdown ioctl十年终于GA-extent清理加速10%的3层设计
18:34
eBPF到底是什么
14:58
为什么SSD会更快
09:40
自旋锁vs互斥锁
14:39
文件系统到底是什么
09:01
Linux 7.1终于砍掉旧NTFS3-4年重写新驱动让多线程写入快110%的3个底层秘密
07:45
一张图看懂Linux 7.1 LASS-Intel用线性地址隔离堵死侧信道的3层硬件防御
12:25
Linux 7.1砍掉swap_map-1TB交换分区省256MB元数据的内存表新设计
06:49
一张图看懂Linux 7.1调度器再快3%-SMT兄弟核优先空闲的7行底层原理
09:41
Meta用fanotify做云分层存储-Linux 7.1文件预读钩子的3层架构深度解析
10:29
Linux 7.1终于让RCU偷懒-延迟回调让笔记本续航多30%的3层节能机制
12:34
按下电源键到init启动Linux启动4大阶段全景图
09:43
Linux内存管理4层架构物理虚拟对象应用的全景图
08:53
系统调用5种实现int0x80sysentersyscallsvc各管什么
14:39
task_struct第一眼5KB巨型结构体的12个核心字段
10:54
中断到底是什么硬件APICIDTC函数4段路的全景
10:00
CPU并发4大基石原子指令缓存行MESI内存序
09:55
Bootloader凭什么把内核拽进内存BIOSMBRGRUB三段式引导链揭秘
09:54
e820_table内存地图BIOSINT0x15报告的5种内存类型详解
11:37
syscall指令底层MSR_LSTAR寄存器是怎么指向entry_SYSCALL_64的
10:25
进程状态机8种RUNNINGINTERRUPTIBLEUNINTERRUPTIBLE完全解析
10:15
缓存行cacheline64字节为什么这是性能优化的圣杯
08:50
IDT中断描述符表256项异常vs中断的分号
08:49
内核里跑用户代码还不崩,eBPF的Verifier凭什么
42:14
海光32核服务器藏着四成被吃掉的性能
14:48
Linux不打补丁也能修飘移触摸板
16:28
GRUB第一行汇编bootS446字节里塞下了一整个引导器
09:55
e820reservememory内核怎么避开BIOSACPI占用区
09:45
entry_SYSCALL_64第一行汇编从用户栈切到内核栈的瞬间
13:23
D状态杀不掉TASK_UNINTERRUPTIBLE为什么连SIGKILL都拦不住
08:38
idtentry宏DEFINE_IDTENTRY_IRQ是怎么生成stub的
12:02
falsesharing伪共享两个变量同cacheline的性能血崩
10:02
Linux 7.1终于把内核链接成PIE-19个补丁让KASLR随机化粒度从4KB跨入字节级的加固秘密
08:56
Linux 7.1给ARM64 NVMe装上NEON-40行PMULL指令让CRC64校验快6倍的SIMD底层秘密
12:08
Linux 7.1终于让32位ARM跑PREEMPT_RT-14年out-of-tree补丁清零的内核实时化收官
07:07
Linux hung task计数器终于能清零-1次echo替代reboot的内核运维新姿势
11:56
Linux 7.1给13年前的Kaveri APU装上DC-AMD终结Radeon遗留驱动的3层切换设计
11:34
图解Linux 7.1调度器修罗场-AI代码审查吃下sched_ext 70+缺陷的内核新协作姿势
12:22
APICvsPICx2APIC是怎么取代老8259的
11:34
GRUBstage2怎么解析grubcfg文件系统驱动竟然在Bootloader里
09:31
MESI协议4状态ModifiedExclusiveSharedInvalid的8种迁移
09:06
NUMA拓扑初始化numa_init函数5步识别本地节点
09:51
runqueue结构体rq每核一个的待跑队列
08:58
sys_call_table系统调用表450个系统调用号是怎么注册的
10:00
Linux 7.1 msharefs共享页表-1000进程共享512GB让页表内存从1TB砍到1GB的底层秘密
09:56
Linux内核sched_mm_cid栽进CVE-2026-23225-1次CID所有权切换让3年老代码越界的底层原因
12:09
Linux 7.0.6终于堵死Dirty Frag-1个rxrpc补丁修6年RXRPC本地提权CVE-2026-43284的根本原因
10:43
Linux 7.1终于解锁Apple Silicon MacBook电池-Asahi Linux通过SMC驱动读取续航的3层底层设计
08:20
图解Linux 7.1把内存回收交给BPF-3个MM钩子让用户态调控OOM策略的内核新协作姿势
13:04
Linux 7.1 io_uring终于让BPF直接读写registered buffers-3个kfunc让共享缓冲区0拷贝的底层秘密
08:20
multiboot协议8字节魔数内核与Bootloader的握手契约
09:03
node_data数组每个NUMA节点的pglist_data是怎么填的
13:02
SYSCALL_DEFINE宏6层展开内核函数到sys_xxx的7行宏魔法
12:49
调度类sched_class链表stopdlrtfairidle5类优先级
14:15
IO-APIC路由IRQ怎么从设备线路连到LAPIC
13:24
MESIF与MOESIIntel与AMD的5状态扩展
15:21
150万行代码 只为摄像头亮一下 V4L2深度解析
30:16
你以为mmap是读文件?内核:我只给了你一张引用证
15:18
IOMMU居然形同虚设——Linux驱动盲信硬件让DMA隔离沦为摆设的3层安全困境
14:34
Intel第4版缓存感知调度器——L2到L3拓扑让混合架构缓存命中减半的调度新算法
16:04
Jens Axboe怒追SPDK——io_uring预映射DMA让每核IO性能暴涨60%的3层底层设计
12:20
MGLRU合入4年竟然没人敢开——2026 LSFMM 3场激辩揭开的内存回收3大设计缺陷
13:20
一张图搞懂ARM64大页魔法——4KB内核跑64KB进程两全其美的虚拟内存新设计
13:26
Copy Fail——732字节Python让Linux 9年老代码变提权后门的底层原理
13:52
Linux 7.1终于让每个cgroup跑自己的调度器——sched_ext子调度器3层架构
13:33
Linux 7.1把HRTIMER开销砍到零——3个优化让高精度定时器不再拖累调度
09:54
一张图看懂Linux 7.1新NTFS驱动——4年36000行代码从FUSE到IOmap进化
12:16
BV1vpVT6mEk5
12:46
BV1ELVT6pEev
09:21
调度器革命 第1期:CFS为什么搞不定救护车与渣土车——sched_ext诞生的三重压力
19:12
调度器革命 第2期:从Spring到Linux内核的50年DNA——模板方法为什么注定出现
14:08
调度器革命 第3期:游戏帧如何被优先调度——sched_ext双层接口与钩子协作
21:56
sched_class和sched_ext_ops到底什么关系?从fork到exit完整走通双层接口
11:59
Spring refresh()和Linux schedule()竟然是同一个模板方法——50年工程哲学汇流
09:01
不看源码纯靠推理,五轮追问推出Linux sched_ext的必然性
07:43
7行宏,凭什么管住内核400个系统调用
09:00
bzImage文件结构解剖setup.binvmlinux是怎么拼出来的
14:08
zone三分天下DMADMA32NORMALMOVABLE各管什么
13:26
vDSO加速getpidgettimeofday为什么不进内核也能调
10:56
schedule函数源码100行核心切换逻辑
09:48
MSIMSI-X基于内存写而不是引脚的现代中断
12:30
BV1kiVg6vEg6
14:01
Linux终于要拆掉用了22年的struct page——memdesc让每页元数据从64字节砍到8字节的3层重构
11:34
io_uring注册一个缓冲区居然偷偷加1024个引用——PinTheft靠RDS引用计数bug拿root的底层链条
15:29
一张图看懂Rust内核驱动——所有权模型如何让NVMe驱动比C还快10%且零数据竞争
15:15
写eBPF终于不用再学三套语言——KernelScript一种语言统一内核态和用户态的3层编译架构
13:23
高优先级线程为什么被低优先级活活拖死——Linux代理执行让锁持有者借用你的时间片的3层设计
15:51
调度器终于学会自我学习-神经网络取代EEVDF让编译快10%迁移暴降77%
12:53
用了22年的futex终于NUMA感知-FUTEX2_NUMA让万核锁不再跨节点抖动
15:02
一行代码让io_uring空闲延迟暴降80倍-AI帮Axboe揪出的AHCI隐藏开销
12:47
Linux终于给新文件系统立下铁律-bcachefs被踢出主线后内核定的准入门槛
12:03
为什么内核per-CPU分配器是隐藏性能杀手-LSFMM2026三层改造加速每CPU数据分配
14:38
一个感叹号居然能拿root-netfilter单字符笔误引爆Linux提权的底层链条
15:23
一条汇编指令凭什么扛起整个内核的无锁世界-cmpxchg硬件原子指令compare-and-swap的底层真相
09:03
ftrace凭什么记下每个函数进出的纳秒时间-function_graph影子栈黑魔法
08:06
内核第一行代码居然是汇编——header.S如何从setup_header一脚跳进main
08:28
Linux驱动凭什么插上就能用-bus-device-driver三元组自动匹配的内核真相
07:43
vDSO凭什么让gettimeofday不进内核-arch_setup_additional_pages在每个进程里偷偷塞的特殊VMA
09:23
BV1NXEy6nEfa
07:39
内核启动居然要先给自己解压-bzImage里extract_kernel把vmlinux还原的源码全程
12:58
进程切换内核居然只做两件事-context_switch里switch_mm和switch_to的2步舞
13:08
一个外设中断凭什么能精准跳到你的处理函数-request_irq把ISR注册进内核全过程
15:04
内核凭什么一行宏就把64TB物理内存全映射进地址空间-__va和__pa的直接映射真相
13:32
Linux终于砍掉用了20年的vsyscall固定地址后门-它退场背后的安全真相
11:34
一条xadd指令凭什么让上万线程排队不打架-票号锁里fetch-and-add的硬件原子真相
11:12
进程快死的那一瞬间定时器还在跑-CVE-2025-38352僵尸进程赛跑引爆POSIX CPU定时器UAF的底层时序
12:38
eBPF终于能像写C一样malloc出4GB内存-arena让BPF用真指针建链表用户态零拷贝直读的底层魔法
10:50
FUSE文件系统天生慢-famfs靠2条消息把CXL共享内存缺页路径做到零用户态上行的底层设计
12:41
GPUDirect直连NVMe竟悄悄损坏数据-Linux块层给P2PDMA补MMIO标记的3层底层修复
14:35
Linux网络包调度器ETS竟漏了一把锁-CVE-2025-71066靠Qdisc竞态把普通用户一路顶到root的底层链条
12:06
一个NULL哨兵值竟让大页PMD指向不存在的物理内存-CVE-2026-31397在稀疏内存模型下翻车的底层根因
12:44
Mac里的Linux 第1期:没有原生 Linux 内核——你的 Docker 到底跑在哪
17:11
Mac里的Linux 第2期:苹果有没有自己的 KVM——虚拟化的两层架构
18:49
Mac里的Linux 第3期:用户态进程如何启动一整个内核
19:16
Mac里的Linux 第4期:页表与中断——归 Mac 管还是 Linux 管
22:01
Mac里的Linux 第5期:客户机内核的第一条指令——arm64 启动全过程
18:28
Mac里的Linux 第6期:Docker volume 真相——磁盘怎么模拟、文件怎么跨界
21:43
CPU与OS的契约 第1期:用户态死循环会一直占着CPU吗,从陷入内核的全部方式建立直觉
15:33
CPU与OS的契约 第2期:把CPU与OS的关系压成一台特权状态机
28:47
CPU与OS的契约 第3期:第一性原理,根本不存在软件方式陷入内核
24:18
CPU与OS的契约 第4期:拆解δ转移,一个死循环逐拍跑过状态机每一步
16:15
CPU与OS的契约 第5期:特权阶梯Exception Level,同步异常与异步中断全景
16:32
CPU与OS的契约 第6期:KVM是怎么让一台CPU同时跑两个内核的
13:06
物理内存居然能插出空洞(sparse memory)
12:37
execve在内核里干的8件事
13:23
中断处理函数居然能睡觉了(threaded irq)
13:51
一切皆文件底气在inode
11:49
sysfs与kobject万能基类
12:55
函数开头5字节NOP(ftrace)
15:06
U盘传大文件凭什么突然变快-Linux 7.2给exFAT换上iomap用folio位图干掉buffer_head链表的底层重构
08:59
进程都快死了文件描述符竟还能被偷走-CVE-2026-46333用ptrace一个9年逻辑漏洞把root拱手送人的底层时序
07:55
2MB大页已经不算大了-Linux把透明大页THP推到1GB为什么这么难的3层内存难题
11:16
Linux 7.2终于砍掉内核加密接口AF_ALG-攻击面太大宁可绕远走用户态的底层安全取舍
12:16
Linux 7.2终于堵死hrtimer一个20年DoS死循环-把定时器设到过去竟能让整机卡死的底层时序
07:12
删掉一次多余的memset让NVMe随机读快5%-Linux 7.2这几行改动揪出io_uring轮询路径的隐藏写带宽浪费
07:59
eBPF可扩展点凭什么从20个暴涨到160个-struct_ops突破单页trampoline限制的底层设计
10:26
Linux 7.2砍掉proc文件系统列表的一把锁-换上RCU让读性能暴涨444%的无锁设计
10:51
Linux 7.2终于给slab内存分配动刀-延迟构建freelist让每次分配最高快70%的底层重构
08:44
一个网络包释放到错误内存池竟能拿root-CVE-2026-31429跨缓存释放漏洞的底层成因与修复
11:49
Rust vs C重写Android Binder-类型系统消灭unsafe让IPC性能反升13%的底层设计
13:15
XFS终于能防篡改了-Linux 7.2把fs-verity的Merkle树藏进文件末尾的完整性设计
13:56
BV1fUKZ6jEJh
11:31
BV16UKZ67E4T
09:00
BV1FUKZ67Efu
09:27
BV1nUKZ67EBC
10:23
BV1FUKZ67EiW
11:21
BV1fUKZ6jEV6
06:22
内核为什么要先压缩再解压自己-bzImage和zImage的1MB边界纠葛
14:55
一个地址管住全部物理内存-vmemmap的1TB全局page数组怎么排布
11:50
进程切换的那一瞬间-switch_to汇编怎么搬运14个寄存器
14:23
电平中断对决边沿中断-内核处理代码只差5行的天壤之别
18:34
内核怎么区分ELF和脚本-binprm解析器识别可执行文件的秘密
11:37
x86的TSO内存模型-CPU到底偷偷帮你重排了哪些指令
15:49
BV12gTb6CEB9
05:52
BV12gTb6CEB8
06:44
BV14tTt6VEPB
10:00
BV14tTt6VEt3
08:24
BV1MtTt6VEch
09:59
百万IOPS的Gen5 SSD被内核拖后腿-Linux 7.3给4K小IO开快路径多榨27万IOPS
13:07
9行汇编翻转1个bit-CPU从16位实模式跳进32位保护模式
06:10
揭秘Intel FRED-用了40年的IDT中断门终于要退休-CPU进出内核彻底重构
10:21
Linux7.2调度器终于开始看缓存了-共享数据进程焊死同一块LLC多核不再互相踩缓存
10:48
页缓存淘汰策略终于能用eBPF自己写-cache_ext热插拔换掉一刀切LRU吞吐暴涨70%
09:38
Linux7.2偷偷给内核签名换上抗量子算法-ML-DSA取代RSA为什么现在就要防量子攻击
09:46
BV19fN76WELh
08:07
BV1XfN76WEf7
07:51
性能优化的本质 第1期:换语言、上缓存、调参数,全逃不出这条公式 — 性能铁律 T=NxCPIxT_cycle
09:43
性能优化的本质 第2期:中断不是用来传数据的 — 一个网络包的内核之旅
10:02
性能优化的本质 第3期:eBPF、io_uring、DPDK — 消灭固定开销的三种立场
09:07
性能优化的本质 第4期:把整个排队算法塞进 4 个字节 — 自旋锁四代演化史
08:52
性能优化的本质 第5期:内核的优化套路,你的系统照样能抄 — 两条演化线的同构与推广
08:40
为什么Superluminal每隔250毫秒卡死一次——一个NMI竞态揪出eBPF锁的致命时间窗
07:55
Linux终于给用了20年的swap缓存动刀——内存省30%吞吐冲高20%的底层重构
07:59
Linux终于让编译器帮你防堆喷射攻击——每个内存分配点自带隐形身份证的底层设计
07:48
GhostLock揭秘——15年前一个线程清错的UAF凭什么让所有Linux瞬间变root
09:22
Copy Fail真相——9年前一次优化埋下的雷凭什么让页缓存悄悄失守变root
08:19
io_uring终于把系统调用交给BPF接管——事件循环不返回用户态的50%提速秘密
09:52
从fork()到Fleet:OpenAI工程师讲透Agent沙箱云怎么设计——Abhishek Bhardwaj,OpenAI
09:43
head_64.S早期页表identity mapping是怎么手搓出来的
07:19
memblock_reserve与memblock_remove内核怎么避让保留区
08:08
揭秘BPF JIT内存复用漏洞-Linux 7.2给CPU分支预测器加了一道安检门
07:04
BV13WK561EUu
08:57
内存分层自动调优让大模型推理提速94%的DAMON新算法
09:04
start_kernel函数600行总览内核初始化7大子系统的入口
07:31
memblock怎么退役free_low_memory_core_early把碗交给buddy
06:35
BV1GyKm6gEDA
09:44
BV1GyKm6gEgN
07:29
setup_arch 源码追踪:x86 架构初始化 1500 行到底做了什么?
07:31
Buddy System 为什么是 11 级 free_list?2^0~2^10 页的取舍
07:11
Linux的2MB从哪来?PMD如何牵动Buddy(重制版)
08:03
Linux终于封杀高通QCE加密驱动-硬件比CPU更慢还会和安全世界抢设备
06:21
Linux终于让进程丢掉根目录——failfs用1个哨兵封死所有路径
12:11
一张图看懂userfaultfd工作集追踪——114个测试让虚拟机冷页不再靠猜
09:13
BV1fKGK61E4B
08:36
BV1fKGK61EMc
09:11
BV1fNGK6jETp
09:05
客服
顶部
赛事库 课堂 2021拜年纪