生成日期:2026-03-20 基于 Linux Kernel 源码(当前分支:master)
| 文件 | 模块 | 核心内容 |
|---|---|---|
| 00_overall_architecture.md | 整体架构 | 目录结构、架构图、启动流程、系统调用、核心数据结构、设计模式 |
| 01_cgroup_namespace.md | cgroup+namespace | 八种namespace、nsproxy、PID/网络NS、cgroup v2、css_set、memcg、容器隔离全流程 |
| 02_memory_management.md | 内存管理 | NUMA/Zone/Page、伙伴系统、SLUB、VMA、缺页异常、COW、Swap、OOM |
| 03_process_scheduling.md | 进程调度 | task_struct、状态机、fork/exec、CFS红黑树、RT/DL调度、负载均衡、信号 |
| 04_network_stack_netfilter.md | 网络栈+Netfilter | sk_buff、收发路径、Netfilter hooks、xtables模块深度分析 |
| 05_vfs_filesystem.md | VFS文件系统 | superblock/inode/dentry/file、路径查找、页缓存、挂载树 |
| 06_device_model_drivers.md | 设备模型+驱动 | kobject体系、bus/device/driver三角、中断子系统、DMA、电源管理 |
| 07_synchronization_memory_model.md | 同步+内存模型 | spinlock/mutex/RCU、内存屏障、LKMM、litmus test分析 |
| 08_ebpf.md | eBPF | 指令集、verifier、JIT、Map类型、BTF/CO-RE、XDP/kprobe/LSM程序类型 |
| 09_io_uring.md | io_uring | SQ/CQ ring、io_kiocb、SQPOLL/IOPOLL模式、io-wq、零拷贝、链式请求 |
| 10_block_layer.md | 块设备层+I/O调度 | bio/request/blk-mq、mq-deadline/BFQ/Kyber、NVMe多队列、I/O合并 |
| 11_time_subsystem.md | 时间子系统 | clocksource/hrtimer/timer wheel、NO_HZ tickless、vDSO加速、NTP |
| 12_interrupt_softirq.md | 中断与软中断 | irq_desc/irq_chip、softirq/tasklet/workqueue、中断线程化、ksoftirqd |
| 13_kernel_module.md | 内核模块系统 | .ko ELF结构、符号导出/解析、模块参数、签名验证、加载状态机 |
| 14_lsm_security.md | LSM安全框架 | capability、hook机制、SELinux/AppArmor/BPF-LSM、seccomp、cred |
| 15_crypto.md | 内核加密框架 | Crypto API、算法注册、AES-NI硬件加速、dm-crypt/TLS/WireGuard应用 |
| 16_tracing_observability.md | 追踪与可观测性 | ftrace/kprobe/tracepoint/perf、ring buffer、bpftrace、火焰图 |
| 17_kvm.md | KVM 虚拟化 | VM entry/exit、VCPU循环、VMX/SVM、EPT内存虚拟化、vAPIC、kvmclock |
| 18_tcp_ip_deep.md | TCP/IP 协议栈深度 | tcp_sock、三次握手、状态机、CUBIC/BBR拥塞控制、TSO/GSO、RACK重传 |
| 19_kernel_hardening.md | 内核安全加固 | KASLR/KPTI、SMEP/SMAP、KASAN/UBSAN、栈保护、CFI、Spectre缓解 |
| 20_acpi_power.md | ACPI 与电源管理 | ACPI表/AML、S/D状态、Runtime PM、cpufreq/cpuidle、suspend/hibernate |
| 21_xdp_afxdp.md | XDP / AF_XDP | xdp_buff/frame、Native/Generic/Offload模式、UMEM零拷贝、redirect机制 |
| 22_virtio_paravirt.md | virtio 与半虚拟化 | split/packed ring、feature协商、virtio-net/blk、vhost内核后端、paravirt_ops |
| 23_iommu_dma.md | IOMMU 与 DMA | VT-d/AMD-Vi、IOVA映射、SWIOTLB bounce buffer、VFIO设备直通 |
| 24_cpu_hotplug_percpu.md | CPU热插拔与per-CPU | per-CPU变量布局、CPU状态机、NUMA自动均衡、isolcpus/nohz_full |
| 25_scsi.md | SCSI 子系统 | Scsi_Host/scsi_cmnd、EH错误恢复、libata/ATA转换、DM-Multipath |
| 26_drm_gpu.md | DRM / GPU 框架 | GEM内存管理、KMS显示管线、原子提交、GPU调度器、i915/amdgpu |
| 27_rust_in_linux.md | Rust in Linux | bindgen绑定、KBox/KVec、泛型锁框架、module!宏、Nova驱动 |
| 28_kdump_kexec.md | kdump / kexec | kimage、crashkernel预留、NMI shootdown、/proc/vmcore、crash分析 |
| 29_ext4_btrfs.md | ext4 与 btrfs | extent树、jbd2日志、CoW B树、子卷快照、RAID、事务机制对比 |
| 30_tc_traffic_control.md | TC 流量控制 | Qdisc框架、HTB/FQ-CoDel/CAKE、BPF分类器、ingress/clsact |
| 31_usb.md | USB 子系统 | URB传输、设备枚举、xHCI控制器、gadget框架、autosuspend |
| 32_ipc.md | IPC 机制 | pipe环形缓冲区、UNIX socket fd传递、SysV IPC、POSIX IPC、memfd |
| 33_fuse_overlayfs.md | FUSE / OverlayFS | FUSE协议7.45、fuse_conn/req、Copy-Up、whiteout、容器分层 |
| 34_alsa_audio.md | ALSA 音频 | snd_card/PCM、环形缓冲区、DMA传输、ASoC/DAPM、PipeWire |
| 35_preempt_rt.md | PREEMPT_RT 实时内核 | RT spinlock/mutex、优先级继承PI链、中断线程化、softirq线程化 |
| 36_netlink.md | Netlink 协议 | nlmsghdr/nlattr、rtnetlink、Generic Netlink、nl80211/cfg80211 |
| 37_livepatch.md | 内核热补丁 livepatch | ftrace trampoline替换、状态转换栈检查、shadow变量、累积补丁 |
| 38_psi_memory_pressure.md | PSI 内存压力 | stall time度量、SOME/FULL、触发器、kswapd/OOM协作、LMKD |
| 39_mac80211_wireless.md | mac80211 / 无线网络 | cfg80211/mac80211层次、ieee80211_hw/vif/sta、扫描/关联、TX/RX路径、minstrel_ht速率控制 |
| 40_input_subsystem.md | Input 输入子系统 | input_dev/handler/handle、evdev接口、HID子系统、Multi-touch协议、force_feedback |
| 41_thermal.md | Thermal 热管理 | thermal_zone/cooling_device/governor、step_wise/IPA算法、cpufreq_cooling、Intel RAPL/DPTF |
| 42_printk_logging.md | printk 与内核日志 | printk_ringbuffer无锁实现、nbcon控制台架构、日志级别、/dev/kmsg、PREEMPT_RT线程化 |
| 43_ip_routing.md | IP 路由子系统 | FIB/LC-trie查找、dst_entry缓存、策略路由、ECMP、IPv6路由、VRF、eBPF LWT |
| 44_gpio_i2c_spi.md | GPIO / I2C / SPI | gpio_chip/gpiod API、i2c_adapter/client/driver、spi_controller/message、regmap集成 |
| 45_memory_hotplug.md | 内存热插拔 | SPARSEMEM/mem_section、add/online/offline/remove流程、页面迁移、ZONE_MOVABLE、virtio-mem |
| 46_audit.md | Audit 审计子系统 | audit_context、三级队列、kauditd、规则过滤链、syscall审计、SELinux AVC审计、Netlink通信 |
| 47_cxl_memory.md | CXL 内存互联 | CXL 1.1/2.0/3.0、三种子协议、Type 1/2/3设备、HDM Decoder、Region管理、NUMA/HMAT集成 |
| 48_bpf_networking.md | BPF 高级网络 | sockmap/sk_psock、sk_msg/sk_skb、cgroup BPF、SOCK_OPS、sk_reuseport、struct_ops拥塞控制 |
| 49_arm64_arch.md | ARM64 架构深度 | 异常级别/向量表、四级页表/TCR_EL1、cpu_switch_to、GICv3、KASLR、PAC/BTI/MTE/SVE |
| 50_dma_engine.md | DMA Engine 框架 | dma_device/chan/descriptor、四种传输类型、cookie机制、Slave DMA、async_tx RAID加速、virt-dma |
| 51_nfs.md | NFS 文件系统 | nfs_client/server/inode、RPC层rpc_task/xprt、属性缓存、NFSv4状态机、pNFS、nfsd服务端 |
| 52_md_raid.md | MD 软件 RAID | mddev/md_rdev/personality、stripe_head、RAID5/6奇偶校验、写洞问题、Journal/PPL、位图同步 |
| 53_mm_compaction.md | 内存规整与碎片整理 | 双扫描器算法、compact_zone、migratetype/pageblock、kcompactd、主动规整、THP、CMA |
| 54_rdma_infiniband.md | RDMA / InfiniBand | IB Verbs API、QP/CQ/MR、QP状态机、RDMA Read/Write、rdma_cm连接管理、SoftRoCE、nvme-rdma |
| 55_riscv_arch.md | RISC-V 架构 | 特权级U/S/M、CSR寄存器、Sv39/48/57页表、SBI/OpenSBI、RVV向量扩展、Zicbom、启动流程 |
| 56_hugetlb_thp.md | HugeTLB 与透明大页 | hstate/subpool、预分配池、hugetlbfs、THP策略、khugepaged折叠、split_huge_page、文件页THP |
| 57_clk_framework.md | Common Clock Framework | clk_core/clk_hw/clk三层、clk_ops、分频/mux/gate/PLL、使能计数、clk_notifier、DT binding |
| 58_regulator.md | Regulator 电源轨框架 | regulator_dev/desc/ops、linear_range电压表、级联供电树、使能引用计数、DRMS、PMIC/MFD |
| 59_pinctrl.md | Pin Control 子系统 | pinctrl_dev/desc、pin/group/function三级抽象、pinmux/pinconf ops、DT binding、GPIO整合 |
| 60_nvdimm_pmem.md | NVDIMM / 持久内存 | ACPI NFIT、nd_region/namespace、fsdax/devdax模式、DAX直接映射、BTT原子写、持久化写顺序 |
| 61_v4l2_media.md | V4L2 / Media 子系统 | video_device/v4l2_subdev、videobuf2缓冲区、DMABUF共享、Media Controller、Request API |
| 62_bluetooth.md | Bluetooth 蓝牙子系统 | hci_dev/conn、HCI传输(USB/UART)、L2CAP、LE低功耗、AF_BLUETOOTH、MGMT接口、SMP配对 |
| 63_pci_subsystem.md | PCI/PCIe 子系统 | pci_dev/bus/driver、配置空间、BAR资源分配、MSI/MSI-X、ACS/IOMMU、ASPM、SR-IOV、P2P DMA |
| 64_mtd_nand.md | MTD / NAND Flash | mtd_info/nand_chip、ECC校验、坏块管理、UBI磨损均衡、UBIFS、SPI NOR/SFDP自动识别 |
| 65_watchdog.md | Watchdog 看门狗 | watchdog_device/ops、魔幻字符、NOWAYOUT、pretimeout governor、iTCO/SP805、softlockup/hardlockup |
| 66_virtiofs_9p.md | virtiofs / 9P | virtio ring传输、FUSE协议、DAX零拷贝映射、SETUPMAPPING、9P2000.L协议、Fid状态机 |
| 67_mm_reclaim.md | 内存回收 / kswapd | 水位MIN/LOW/HIGH、kswapd/balance_pgdat、LRU四链表、MGLRU世代、workingset_refault、shrink_slab |
| 68_devfreq_opp.md | devfreq + OPP | dev_pm_opp V-F对、opp_table、升降频安全顺序、devfreq框架、五种governor、DRAM/GPU案例 |
| 69_genpd.md | Generic Power Domains | generic_pm_domain、电源域树、级联上/下电、空闲状态、QoS governor、Runtime PM集成、SCMI后端 |
| 70_maple_tree_vma.md | Maple Tree 与 VMA | 区间B-Tree、maple_range_64/arange_64、RCU遍历、ma_state游标、vma_iterator、VMA查找/分裂/合并 |
| 71_mptcp.md | MPTCP 多路径TCP | mptcp_sock/subflow_context、DSN-SSN映射、DSS选项、路径管理器、调度器、ADD_ADDR、发送/接收路径 |
| 72_openvswitch.md | OpenvSwitch 内核数据面 | sw_flow/flow_table、EMC/SMC双缓存、dp_process_packet、Action执行、Upcall、CT集成、TC offload |
| 73_nftables.md | nftables 框架 | nft_table/chain/rule/expr、虚拟机执行、集合(hash/rbtree)、事务提交、flowtable软件加速 |
| 74_conntrack_nat.md | Conntrack / NAT | nf_conn五元组、TCP状态机、expect机制、FTP ALG、nf_nat_setup_info、ct offload卸载 |
| 75_zswap_zram.md | zswap / zram / zsmalloc | zswap_entry/pool、压缩写入/读取路径、二次机会shrinker、zsmalloc size class、zram writeback |
| 76_ksm.md | KSM 内核同页合并 | ksm_rmap_item/stable_node、双红黑树、write_protect_page、replace_page、EWMA自动调速、侧信道防护 |
| 77_ima_evm.md | IMA / EVM 完整性 | 度量/评估/审计三功能、ima_iint_cache、TPM PCR扩展、策略引擎、EVM HMAC、签名验证链 |
| 78_futex_epoll.md | futex / epoll | futex_q/哈希桶、PI优先级继承、robust futex、futex2、epitem/eventpoll、ET/LT差异、EPOLLEXCLUSIVE |
| 79_sched_ext.md | sched_ext BPF 调度器 | sched_ext_ops全回调、scx_task_state、DSQ分发队列、与CFS共存、watchdog防死锁、scx_simple实现 |
| 80_eas_autonuma.md | EAS + AutoNUMA | em_perf_domain、find_energy_efficient_cpu、compute_energy、task_numa_fault、NUMA扫描与迁移 |
| 81_device_mapper.md | Device Mapper | mapped_device/dm_table/dm_target、bio映射路径、dm-verity Merkle树、dm-integrity、dm-cache、dm-thin |
| 82_f2fs_erofs.md | F2FS + EROFS | F2FS日志温度/GC/双CP检查点/原子写/压缩、EROFS只读设计/compact inode/pcluster压缩/fscache |
| 83_keyring_tpm.md | Key Management + TPM | struct key/keyring层次、request_key、系统密钥环、TPM2 PCR扩展、tpm2_seal_trusted、vTPM |
| 84_vxlan_tunnels.md | VXLAN / Geneve / GRE 隧道 | vxlan_dev/fdb/发送接收路径、FDB学习、Geneve可变选项、GRE解复用、ip_tunnel元数据、UDP GSO |
| 85_ipvs_bonding.md | IPVS/LVS + Bonding/VLAN | ip_vs_service/dest/conn、NAT/DR/TUN模式、调度算法、Bonding七种模式、LACP、VLAN/MACVLAN/IPVLAN |
| 86_userfaultfd.md | userfaultfd | userfaultfd_ctx、MISSING/WP/MINOR三模式、handle_userfault时序、UFFDIO_COPY/CONTINUE、QEMU热迁移 |
| 87_memory_tiering.md | 内存分层(Memory Tiering) | memory_tier/demotion_nodes、adistance距离模型、DRAM/CXL/PMEM层级、热页降级/升级迁移、HMAT解析、DAX kmem集成 |
| 88_x86_arch.md | x86/x86-64 体系结构 | entry_SYSCALL_64汇编流程、pt_regs、__switch_to进程切换、四级/五级页表、KPTI双页表、GDT/IDT/TSS、PCID、Spectre缓解 |
| 89_device_tree.md | 设备树(Device Tree) | DTB格式/FDT解析、unflatten_device_tree两遍算法、device_node树、compatible加权匹配、of_platform_populate、DT overlay动态插拔 |
| 90_firmware_loading.md | 固件加载子系统 | request_firmware API、fw_priv/firmware_cache、5级加载路径(内建→FS→EFI→sysfs fallback)、休眠缓存、IMA安全校验 |
| 91_hwmon_power_rtc.md | hwmon + Power Supply + RTC | hwmon动态sysfs属性、11种传感器类型、power_supply充放电状态机、80+属性、RTC alarm/rtc_class_ops、thermal联动 |
| 92_namespace_deep.md | 网络/用户命名空间深度 | struct net生命周期、pernet_operations、veth跨ns通信、user_ns uid/gid映射双模式、32层嵌套、rootless容器 |
| 93_kunit_testing.md | KUnit 内核单元测试 | kunit_test_suite/KUNIT_CASE宏、TAP输出、kunit_resource RAII、静态桩、KASAN/KCSAN集成、kselftest对比 |
| 94_io_uring_advanced.md | io_uring 高级特性 | 固定缓冲区/文件注册、链式超时/Multishot、io_uring_cmd NVMe passthrough、sendmsg zerocopy双CQE、Buffer Ring |
本次分析特别深入覆盖了当前工作分支的修改文件:
| 修改文件 | 分析位置 | 功能 |
|---|---|---|
net/netfilter/xt_DSCP.c |
04文档 §7.1 | DSCP/TOS 字段匹配(QoS分类) |
net/netfilter/xt_HL.c |
04文档 §7.2 | TTL/Hop Limit 匹配 |
net/netfilter/xt_RATEEST.c |
04文档 §7.3 | 速率估计匹配 |
net/netfilter/xt_TCPMSS.c |
04文档 §7.4 | TCP MSS 匹配 |
include/uapi/linux/netfilter/xt_DSCP.h |
04文档 §7.1 | DSCP 用户空间接口 |
include/uapi/linux/netfilter/xt_CONNMARK.h |
04文档 §7.5 | 连接标记接口 |
include/uapi/linux/netfilter/xt_MARK.h |
04文档 §6 | 包标记接口 |
include/uapi/linux/netfilter/xt_RATEEST.h |
04文档 §7.3 | 速率估计接口 |
include/uapi/linux/netfilter/xt_TCPMSS.h |
04文档 §7.4 | TCP MSS 接口 |
include/uapi/linux/netfilter_ipv4/ipt_ECN.h |
04文档 §6 | ECN 标记接口 |
include/uapi/linux/netfilter_ipv4/ipt_TTL.h |
04文档 §7.2 | TTL 接口 |
include/uapi/linux/netfilter_ipv6/ip6t_HL.h |
04文档 §7.2 | Hop Limit 接口 |
| 修改文件 | 分析位置 | 说明 |
|---|---|---|
tools/memory-model/litmus-tests/Z6.0+pooncelock+poonceLock+pombonce.litmus |
07文档 §9 | 验证"持锁操作对无锁第三方观察者不可见"的内存序特性 |
Linux 内核架构层次:
用户空间 (User Space)
│ 系统调用(~450个)
▼
┌────────────────────────────────────────────────────┐
│ 内核核心子系统 │
│ 进程调度 内存管理 VFS 网络栈 安全框架 │
├────────────────────────────────────────────────────┤
│ 内核公共基础(中断/同步/RCU/BPF/cgroup) │
├────────────────────────────────────────────────────┤
│ 设备驱动框架 块设备层 加密框架 IOMMU │
├────────────────────────────────────────────────────┤
│ 硬件抽象层(arch/x86, arm64, riscv...) │
└────────────────────────────────────────────────────┘
│
▼
硬件(CPU, RAM, NVMe, NIC, GPU...)
由 Claude Code 多 agent 并行分析生成