[update]: penguin labs update#2
Merged
Merged
Conversation
mm 藤补齐(双轨 handbook 线),mm 系列统一数字前缀按教学顺序: - 02-mm-slab: SLUB 唯一实现沿革、kmalloc vs 自建缓存 - 03-mm-vmalloc: 虚拟连续机制、TLB/DMA 代价、决策树 - 04-mm-page-reclaim: zone 三档水位线、kswapd、direct reclaim - 05-mm-oom: oom_badness 评分、oom_score_adj 免死金牌 - 01-mm-buddy: 由 mm-buddy 重命名(对齐前缀约定) 骨架从 ch08/ch09 笔记提炼,核心机制讲透,动手部分标 🔨 待 QEMU 亲测升 ✅。 build 验证: 552 md 扫描, 0 死链。
网络栈藤(收发数据通路主线)6 篇 🔨 整理中骨架: - 01-net-overview: 栈全景/收发漂流/net_device/NAPI - 02-net-sk-buff: sk_buff 四指针/push/pull/clone - 03-net-neighbor: ARP/NUD 状态机/ip_neigh_for_gw - 04-net-ipv4: ip_rcv 收发/分片/标志位口径 - 05-net-routing: FIB/fib_lookup/路由缓存演进 - 06-net-tcp: 三次握手/收发/定时器 笔记基于较早内核版本,经 workflow 起草 + 对照 6.19 源码 adversarial 审稿 (抓出 frag_off 8192 是 MF 非 DF、rmem 87KB→128KB、tcp_v4_hnd_req 已删、 dst_neigh_output 不存在等),再跑修正 workflow 逐条适配 6.19。 build 验证: 558 md, 0 死链。
调试与性能藤第一批 5 篇 🔨 整理中骨架,"读源码+讲解"模式(读 third_party/linux 源码讲机制,不只啃笔记): - 01-debug-printk: printk ring buffer lockless/prb/console_loglevel - 02-debug-kprobes: kprobe/kretprobe 断点注入/kprobe events - 03-debug-kasan: 影子内存 shadow/quarantine/三模式 - 04-debug-slub: slub_debug 红区(0xbb/0xcc)/Poison(0x5a/0x6b)/track - 05-debug-oops: Oops 解读/objdump 定位/栈回溯 经 workflow 起草 + 对照 6.19 源码 adversarial 审稿(抓出 slub 红区/Poison 值讲反、 kasan test_kasan 迁 kasan_test_c.c、oops ARM64 格式、kprobes fault_handler 已移除等), 再跑修正 workflow 逐条适配 6.19。build: 563 md, 0 死链。
…ng 藤 9 篇齐 调试藤第二批 4 篇 🔨 整理中骨架,"读源码+讲解"模式: - 06-debug-ftrace: 动态 patching(ftrace_init/replace_code)/trace events/ring buffer/trigger 两套 - 07-debug-kcsan: watchpoint/数据竞争/Advisory Lock(审稿 pass,0 修正) - 08-debug-panic: panic notifier/hung task/lockup 检测 - 09-debug-kgdb: gdbstub/debug_core/ARM64 BRK 链路 经 workflow 起草 + 对照 6.19 源码审稿(抓出 ftrace function tracer 概念混淆、 kgdb arch 链路/断点表数组名/字段、panic RCU stall 值+死链),修正 workflow 适配 6.19。 debugging 藤 9/17 节点齐。build: 567 md, 0 死链。
…rivers 藤 驱动藤第一批 5 篇 🔨 整理中骨架,"读源码+讲解"模式: - 01-drv-chardev: cdev/file_operations/chrdev_open/misc 设备 - 02-drv-ioctl: ioctl cmd 编码(_IO/_IOR/_IOW)/compat_ioctl - 03-drv-poll: poll_wait/wait_queue/wake_up - 04-drv-mmap: remap_pfn_range/VM_IO/GUP 拒绝 - 05-drv-irq: request_irq/request_threaded_irq/上下半部 经 workflow 起草 + 对照 6.19 源码审稿(抓出 def_chr_fops 两项、mmap GUP 位置 mm/gup.c check_vma_flags、wait-queue/ioctl 死链、sources 归因),修正 workflow 适配。 build: 572 md, 0 死链。
驱动藤第二批 4 篇 🔨 整理中骨架,"读源码+讲解"模式: - 06-drv-clk: 忙等/休眠/hrtimer/jiffies/fsleep - 07-drv-sync: mutex vs spinlock/irqsave/临界区(审稿 pass) - 08-drv-atomic: atomic_t/refcount_t/内存屏障 - 09-drv-rcu: RCU 宽限期/读者无锁(审稿 pass) 经 workflow 起草 + 对照 6.19 源码审稿(抓出 clk 死链 timers-howto→delay_sleep_functions、 atomic REFCOUNT_SATURATED=INT_MIN/2 事实错),修正 workflow 适配 clk/atomic。 drivers 藤 9 篇齐(chardev→rcu)。build: 576 md, 0 死链。
网络续 2 篇 🔨 整理中骨架,"读源码+讲解"模式: - 07-net-udp: udp_prot/udp_sendmsg(快路 ip_make_skb/慢路 cork)/udp_rcv 接收链 - 08-net-netfilter: 5 hooks/nf_hook_ops/conntrack/iptables/NAT netfilter 经对照 6.19 源码审稿(抓出 conntrack UDP 双向 180s→实际 120s、 xt_hook_link/ipv4_confirm 过时函数名),修正 workflow 适配。udp verify 首轮 因 429 失败,补审稿 + 手工修正 udp_csum/ip_send_skb 函数名。build: 578 md, 0 死链。
笔记 1:1 对齐第一批,扩展网络栈到 Netlink/ICMP/组播/IPv6(章级 1:1): - 09-net-netlink: AF_NETLINK/nlmsghdr/TLV/NETLINK_ROUTE/genetlink - 10-net-icmp: ICMPv4(icmp_rcv/icmp_send)/ICMPv6(NDISC/MLD) - 11-net-multicast: IGMP/ipmr MFC/组播转发/多路径 - 12-net-ipv6: IPv6 头部/SLAAC/NDISC/MLD 经对照 6.19 源码审稿(抓出 netlink 死链 genetlink→generic_netlink、multicast ipmr_queue_xmit→ipmr_queue_fwd_xmit、ipv6 CONFIG_IPV6_PRIVACY 不存在、icmp net_protocol 去 netns_ok),修正 workflow + 手工修。layer-1 扩展 4 新节点。 build: 582 md, 0 死链。
… 1:1 全覆盖 笔记 1:1 对齐第二批,扩展网络栈到 IPsec/无线/RDMA/命名空间: - 13-net-ipsec: XFRM 框架/SA/ESP/传输隧道模式/NAT-T - 14-net-wireless: cfg80211/mac80211/MLME/节电/802.11n - 15-net-rdma: RDMA/InfiniBand/QP/MR/READ-WRITE(审稿 pass) - 16-net-namespace: struct net/网络命名空间隔离/veth 经对照 6.19 源码审稿(抓出 wireless PASSIVE_SCAN→NO_IR 标志、namespace NETIF_F_NETNS_LOCAL 删除+br_device_event 编造+netns.html 死链),修正 workflow 适配。 networking 14 章笔记 1:1 全覆盖。build: 586 md, 0 死链。
site/site/.vitepress/cache/deps_temp_3106e562/ 是 VitePress 依赖缓存(build 产物), 因 .gitignore 只写 site/.vitepress/cache(单层)未覆盖 site/site/ 嵌套而误提交。 git rm --cached + 本地删 + .gitignore 补 site/site/。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.