Files
2026-01-29 23:22:21 +08:00

179 lines
9.8 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 乙卷·天道诸劫Kernel/法则层)·八回
## 第一回 天怒一降万物寂 判词如碑刻穹苍Kernel Panic 雷劫)
**天道判词**
> 一线天心忽自裂,万法俱空夜色长。
> 雷书不为凡情改,断处回溯是遗章。
**渡劫段落模板**
却说洞府上界忽现异光先是软锁如缚、RCU 如喘继而天幕一黑万物齐寂。串口与屏幕留下一道道栈回溯似天道亲手刻碑哪一处法则被触怒哪一处经脉已崩塌。主角知此非人界小祸乃天怒之雷若无后手kdump/pstore/netconsole存得雷痕便只能在黑暗里猜。待捧得“天书残页”oops trace + vmlinux 符号),方可循章溯源,寻得那一粒致命的魔种。
---
## 第二回 天锁既成群雄困 万力齐施也不行(死锁与锁竞争劫)
**天道判词**
> 锁锁相扣成天网,英雄到此亦低头。
> 非关气短功不济,只怪因循结旧愁。
**渡劫段落模板**
那日主角修为已至化境,偏偏一动便觉寸步难行:吞吐如坠深井,火焰图上尽是锁影与 futex 哀鸣。更有 hung task 警示如冷风穿堂,似有天锁将众生绑在一处。此劫不靠蛮力,靠改道——分片、减共享、缩临界、定锁序;再以 lockdep/perf lock 或 eBPF 观锁魂,查谁持锁如抱丹不放。若只在旧锁外再加新锁,便是以绳缚绳,越缚越死。
---
## 第三回 宽限不至天机滞 一念不让万界迟RCU Stall 劫)
**天道判词**
> 宽限如潮终须至,有人不退便成灾。
> 一念长执遮天道,万灵齐等夜徘徊。
**渡劫段落模板**
忽闻上界传来警示RCU stall。众人初不解其意只觉洞府像被定身——并非全死却处处拖慢。主角知 RCU 之道在“众生皆须一让”,宽限期方能过去;若有人在临界之地久不放手(禁抢占/关中断/长临界),便如以一念遮天,令天机停滞。于是他循迹追索:是哪个路径占着天道不肯让步;用 tracepoint/ftrace 或 eBPF 观其停滞之时长,斩断那段过长的执念,宽限潮水方能再度回流。
---
## 第四回 天刑巡夜锁魂急 软硬皆判不容情Soft/Hard Lockup 劫)
**天道判词**
> 看门神犬昼夜巡,久不应声便是刑。
> 软判尚留回头路,硬裁一落断今生。
**渡劫段落模板**
却说洞府里忽现“watchdog”谕令soft lockup 先鸣似告诫“尚可回头”若仍不醒hard lockup 便如重锤,直接裁决。其因多在某核久不调度、久不应钟:或长循环不让出,或关中断太久,或锁劫缠身。主角若要破此天刑,须先分清是“应钟不灵”还是“被天锁困死”,再沿调度与中断之线追到源头。此劫最忌以为“偶发无妨”,因为天刑巡夜,第二次往往更重。
---
## 第五回 仙骨暗腐无声噬 瓦解从来不见刀SLAB 泄漏劫)
**天道判词**
> 不见刀兵见骨瘦,仙骨空空自成伤。
> 一滴一滴吞灵去,回头已是万山荒。
**渡劫段落模板**
有一类天道劫最阴洞府表面风平浪静内里仙骨slab却在悄悄变薄。主角只觉可用之物日渐稀少却在用户态查不出分毫端倪原来吞灵者藏在内核堆里拿了对象不还或引用不断。此时须翻开 slab 之谱(/proc/slabinfo、slabtop 等),看哪一族缓存增长如草;再借调试护体(如 KASAN/trace追其来路。此劫最适合写“慢性心魔”不痛不响却把寿元一点点掏空直到突然引爆更大的天罚。
---
## 第六回 回收成狂无寸进 吐纳千回亦枉然(回收活锁/Thrashing 劫)
**天道判词**
> 吐纳千回仍见空,回收无功反自穷。
> 脏潮未退砂仍碎,一劫牵连百劫重。
**渡劫段落模板**
忽然之间洞府像中了“反复吐纳”的邪咒CPU 忙得团团转,回收与压缩不断,却换不来真正的可用灵气。主角一看便知是回收活锁:脏页回写不畅、碎片化顽固、高阶需求不停,三者互相牵扯,吐纳越急越乱。要破此劫,须先退脏潮(稳回写水位),再治碎砂(减连续分配/调整 THP/compaction 行为最后把吞灵之源关进界内cgroup 限制)。若只加大回收力度,等同逼人强行运功,往往先把自己累死。
---
## 第七回 天时不与英才绝 饥饿一至万念空(调度饥饿/优先级反转劫)
**天道判词**
> 天时若偏千般巧,英雄无用也成愁。
> 一高一低相牵制,反转回环断去留。
**渡劫段落模板**
此劫来时,最像“被天命冷落”:有的生灵明明该动,却久久得不到一丝天时;有的却霸占时辰,行走如风。其因或在优先级反转,或在实时之法被滥用,或在绑核/配额使天时偏斜。主角若要破关须把“谁拿走了天时”查得明白——从调度观测入手perf/ftrace 的调度轨迹),再调回天秤:让不该独占的归还,让该得到片刻的得片刻。此劫最适合写“强者受困”:不是修为不够,而是天时不与。
---
## 第八回 大页似舟翻作浪 塑脉成灾震一城THP/Compaction 震荡劫)
**天道判词**
> 大页原为渡劫舟,碎浪翻时反作仇。
> 强塑经脉天地颤,一震三惊不肯休。
**渡劫段落模板**
有宗门喜用“透明大页”以求气机通畅奈何洞府经脉碎时大舟反成浪。THP 与 compaction 一旦频繁出手,便像强行塑脉,震得人界一阵阵抽搐。主角若要止震,不能只喊“关或开”,须先观其震源:究竟是分配模式碎、还是高阶需求逼迫,抑或内存压力把 compaction 推到前台。待查明后,或调 THP 策略、或改分配形态、或把高阶需求移道,方能令洞府不再“每逢塑脉便震三震”。
---
# 乙卷·天道诸劫Kernel/法则层)·案牍注解(旁批)
## 第一回 Kernel Panic 雷劫 — 案牍注解
* **“天怒panic”**:法则自知不可续,遂令万物归零;非人界可挽。
* **“oops trace”**:天道失手时的血书,最可贵者在“调用之链”,非在最后一句。
* **“kdump / pstore / netconsole”**:留雷痕之法;无痕则无从问罪,无从破关。
* **“vmlinux 符号”**:解碑文之钥;无符号则碑上皆是天书。
---
## 第二回 死锁与锁竞争劫 — 案牍注解
* **“死锁”**:两法相制,各不相让;多因锁序错、临界长、交错取。
* **“锁竞争”**:非死亦苦;众生争一门,门虽开却一人一入。
* **“futex”**:人界与天道相接之锁门;火焰图见其影,常是瓶颈明证。
* **“lockdep”**:锁狱簿册,记诸锁因果;启之可见天网,亦耗灵气。
* **“perf lock / eBPF 观锁”**:量其持锁之时、争锁之众,方能对症下药。
---
## 第三回 RCU Stall 劫 — 案牍注解
* **“RCU”**以“先行后补”换读之畅其要在“宽限期”grace period
* **“stall”**:宽限不至;多因有人久不让步(长临界、禁抢占、关中断)。
* **“synchronize_rcu”**:求宽限之令;若久不应,便知天机受阻。
* **“tracepoint / ftrace”**:观“谁不让步”的照妖镜;寻得元凶,劫自可解。
---
## 第四回 Soft/Hard Lockup 劫 — 案牍注解
* **“watchdog”**:巡夜官也;久不闻钟,便判“天道凝死”。
* **“soft lockup”**:尚能喘息,或可回头;多见于长计算/长禁抢占。
* **“hard lockup”**:钟声不入,往往更凶;常因关中断过久或死锁入骨。
* **“NMI”**:天道外使,强行探查诸核;其至则判词多可信。
* **“应钟”**:调度与中断之应答;失其应,则天刑必下。
---
## 第五回 SLAB 泄漏劫 — 案牍注解
* **“slab / kmalloc”**:天道用器之库;对象如砖,取用当归还。
* **“泄漏”**:取而不还,或引用不断;阴毒在无声无息。
* **“/proc/slabinfo”**:仙骨谱;看哪一族缓存肥长异常,即知吞灵所在。
* **“KASAN”**:护体罡气,专照越界与破坏;重则耗灵,轻则救命。
* **“模块/驱动”**:最常藏魔处;旁门法器多,归还之道杂。
---
## 第六回 回收活锁/Thrashing 劫 — 案牍注解
* **“reclaim”**:回收使者之行;本为救急,久行则耗命。
* **“direct reclaim”**:众生自下场回收,故万事皆慢;此乃“逼人强行运功”。
* **“thrashing”**:吐纳无功、往复空转;常与脏页、碎片、高阶分配互为因果。
* **“kswapd”**:回收行者;其忙与不忙,皆可作天象判读。
* **“cgroup memory”**:小洞天之界;先圈祸源,后谈根治。
---
## 第七回 调度饥饿/优先级反转劫 — 案牍注解
* **“starvation”**:天时不至;非死却比死更磨人。
* **“优先级反转”**:低者握钥,高者久候;天时虽在,因果却倒。
* **“RT实时”**:夺时之术;用之不慎,众生皆贫天时。
* **“CPU 绑核/配额”**:天时分封之法;封得不均,则一洲富、一洲饥。
* **“sched trace”**:天时簿;看谁得时、谁失时,方能正其偏。
---
## 第八回 THP/Compaction 震荡劫 — 案牍注解
* **“THP”**:透明大页;本欲通脉,脉碎则舟翻。
* **“compaction”**:强塑经脉以求连续;频繁则震,震久则伤。
* **“高阶页”**:大器之材;需连续之地,故最怕碎片。
* **“震荡”**:多非单点之罪,常是分配形态与压力策略相冲。
* **“取舍”**THP 关开皆非究竟,先观其震源,再定其法度。
---