跳转至
WuJing's Blog
shmem
正在初始化搜索引擎
realwujing/realwujing.github.io
WuJing's Blog
realwujing/realwujing.github.io
📚 技术笔记与资源库
3d
3d
3D设计与建模工具
Algorithm
Algorithm
算法与数据结构学习指南
Transformer 算法详解与 PyTorch 实现
Architect
Architect
system-architect
操作系统
数学与经济管理
数据库系统
考试介绍及备考攻略
计算机组成与体系结构
计算机网络
Xisai
Xisai
202409
202409
Cpp
Cpp
C++命名规范
C++基础
C++多线程
C++日志
C++进阶指南
Qt教程
Automake与Autoconf构建工具
CMake
cmake编译链接参数
GCC编译器使用指南
GTK+与GLib图形界面开发
MakeFile
Protocol Buffers序列化技术
TARS微服务框架
vscode-cmake
静态库与动态库
C 实现 C++ 类
C 实现 C++ 类
C++对象的内存布局
C++对象的内存布局
Cmake objdump
Cmake objdump
Extern
Extern
C语言extern关键字详解
Protobuf
Protobuf
Protobuf example
Protobuf example
Qt learning
Qt learning
Dbus
Dbus
Proxy
Proxy
Struct
Struct
Qprocess wget
Qprocess wget
Thread
Thread
Pthread
Pthread
ThreadPool
ThreadPool
Sync
Sync
Thread
Thread
Hello world
Hello world
Valgrind
Valgrind
Git
Git
Linux 内核补丁管理利器:b4 使用教程
Gerrit代码审查系统
github-pages
git教程
git submodules
Go
Go
Go语言学习笔记
Java
Java
Java编程学习指南
Javascript
Javascript
JavaScript前端开发技术
My project
My project
Runoob vue3 test
Runoob vue3 test
Todolist
Todolist
Jenkins
Jenkins
Jenkins持续集成工具
Linux
Linux
linux教程
Assembly
Assembly
16位汇编语言
汇编语言学习资源
Binary analysis
Binary analysis
Books
Books
Linux与编程技术电子书资源
UEFI编程实践
UEFI编程实践
Grub
Grub
Mips 5.10
Mips 5.10
GRUB启动引导程序
Boot
Boot
Grub
Grub
grub中iommu=pt的作用
grub中vmlinuz initramfs分析
Monitoring
Monitoring
Log
Log
Drivers
Drivers
设备驱动
Acpi
Acpi
power_button
Baohua
Baohua
Develop
Develop
Block
Block
Bugs
Bugs
Ceph
Ceph
fio_ceph
Console
Console
Bugs
Bugs
Console unlock
Console unlock
Devkmsg write
Devkmsg write
devkmsg write
Do coredump
Do coredump
do_coredump
Disk
Disk
Bcache
Bcache
Bcache 深度日志分析报告 (messages.txt)
Ceph
Ceph
ceph集群nvme硬盘故障率升高跟踪
Gpu
Gpu
Linux 内核 AI 基础设计 (AI Infra) 参与指南
Linux图形系统与GPU驱动
GPU Buddy 与内核 Buddy / SLUB 深度对比分析
Linux 内核 AI Infra 全景:GPU、加速器、RDMA 与异构计算
显示功能学习comments
算子(Operator) vs 核函数(Kernel) 框架图
Arm smmu
Arm smmu
第一篇:架构全景:SMMUv3 的硬件模型与初始化
第二篇:流表、命令队列与事件队列 — SMMUv3 的三大核心数据结构
第三篇:页表引擎 — LPAE 格式、Stage 1/2 与域终结
第四篇:SVA 与 IOMMUFD — 共享虚拟地址与嵌套翻译
Bugs
Bugs
227273
227273
pt620k 1031 freezes on desktop after password entry
234167
234167
Desktop Freeze on UNIS D3812 D2000
236691
236691
236691
Intel iommu
Intel iommu
第一篇:DMAR 发现 — ACPI 表的解析与 IOMMU 注册
第二篇:IOMMU 引擎 — 硬件寄存器、关键数据结构与初始化
第三篇:DMA 重映射 — 页表遍历、TLB 刷新与缓存标签
第四篇:中断重映射与 PASID — DMA 之外的能力
第五篇:SVA、嵌套翻译与 IOMMUFD — VT-d 的未来
Nvidia svm
Nvidia svm
第 1 篇:CPU↔GPU 内存镜像基础 — HMM 深度解析
第2篇:GPU 共享虚拟内存抽象层 — DRM GPUSVM
第3篇:NVIDIA HMM 调用者 — nouveau_svm.c
第4篇:NVIDIA 设备显存管理 — nouveau_dmem.c
第5篇:GPU 多内存类型管理 — TTM 框架
第6篇:GPU 显存 Buddy 分配器
第7篇:GPU 命令提交调度:DRM Scheduler
第8篇:GPU→RDMA 零拷贝桥梁:umem_dmabuf.c
第9篇:RDMA 硬件侧 MR 注册:mlx5/mr.c
Openclaw
Openclaw
OpenClaw 深度架构分析报告
Pcie deep dive
Pcie deep dive
第0篇:PCIe 协议 — 从配置空间到 TLP 的完整图谱
第一篇:枚举 — 内核怎么发现 PCIe 设备
第二篇:BAR/MMIO — 设备的寄存器窗口
第三篇:驱动注册与匹配
第四篇:MSI/MSI-X 中断机制
第五篇:AER — 高级错误报告
第六篇:热插拔与电源管理
第七篇:PCIe Port 服务模型
Soc unified memory
Soc unified memory
第1篇:CPU 页表深度解析 — 一个虚拟地址的物理之旅
第2篇:HMM 如何遍历 CPU 页表 — hmm_range_fault 内部全解
第3篇:ARM SMMU 页表镜像 — IOMMU 如何把 CPU 页表给 GPU 用
第4篇:ATS/PRI — 页表共享的最后一块拼图
第5篇:SoC 统一内存完整时序 — 从 GPU 缺页到页表填充
Stanford cs336
Stanford cs336
大模型从0到1|第一讲:概述和Tokenization
大模型从0到1|第七讲:详解大模型并行化策略
大模型从0到1|第三讲:详解现代LLM基础架构
大模型从0到1|第九讲:扩展定律基础
大模型从0到1|第二讲:PyTorch手把手搭建LLM
大模型从0到1|第五讲:详解 GPU 架构与性能优化
大模型从0到1|第八讲:手撕大模型并行训练
大模型从0到1|第六讲:手写高性能算子
大模型从0到1|第十一讲:如何用好 Scaling Law (Scaling - Case Study and Details)
大模型从0到1|第十七课:手把手讲解GRPO
大模型从0到1|第十三课:训练数据策略
大模型从0到1|第十二课:模型评估详解
大模型从0到1|第十五课:详解SFT、RLHF
大模型从0到1|第十六课:详解大模型RL算法
大模型从0到1|第十四课:实战数据过滤和去重
大模型从0到1|第十讲:详解模型推理
大模型从0到1|第四讲:详解MoE架构
Virtio
Virtio
xorg blocked when using virtio_gpu
Mcu
Mcu
BMC误判Host异常重启根因分析:MCU固件2.03.30多线程资源竞争再发
Modules
Modules
Bugs
Bugs
Insmod
Insmod
ubuntu22.04 panic on insmod
Power
Power
Bugs
Bugs
236037
236037
s4 cannot go to sleep
Proc
Proc
seq_open可以替换成single_open吗
Sound
Sound
ALC885_1-1
HDA Codec音频驱动调试与重配置
hdmi-audio
sound-algorithm
Linux音频驱动开发
Bugs
Bugs
216983
216983
HDMI音频调试日志分析
226916
226916
Patch
Patch
realtek ALC257 renmaed to ALC269
Phytium
Phytium
飞腾PMDK DP音频驱动调试
Patch
Patch
基于主线linux4.19合入飞腾补丁
Pulseaudio
Pulseaudio
mapping_paths_probe
pa_alsa_path_probe
pa_alsa_profile_set_new
pa_alsa_profile_set_probe
profile_finalize_probing
PulseAudio 中常见的函数和模块
pulseaudio调试
Udl
Udl
udl mutex_lock panic
Fs
Fs
文件系统
Bugs
Bugs
Dcache
Dcache
hlist_bl_for_each_entry_rcu遍历d_name.hash时出现非法地址访问0x60e
Ext4
Ext4
oops on down_read_trylock when inode use-after-free
233267
233267
ext4_inode_info double free
Fuse
Fuse
ls: 无法访问 '/mnt/alluxio-fuse': 输入/输出错误
Kernfs
Kernfs
very high memory usage due to kernfs_node_cache slabs
Ext4
Ext4
Ext4 deep dive
Ext4 deep dive
第一篇:磁盘布局 — 超级块、块组描述符与索引节点
第二篇:范围树 — 二叉搜索、插入分裂与合并
第三篇:日志 — JBD2 句柄、事务提交与快速提交
第四篇:块与索引节点分配 — 多块分配器与 Orlov 算法
第五篇:目录操作与 HTree 索引 — 从线性搜索到 B 树
第六篇:在线扩容与 FSMap — 不停机扩展与块所有者查询
Minifs
Minifs
V1
V1
minifs-v1
V2
V2
minifs-v2
V3
V3
minifs-v3
Patch
Patch
fs/file: optimize close_range() complexity from O(N) to O(Sparse)
Vfs deep dive
Vfs deep dive
第一篇:Dentry Cache — 目录项缓存与 RCU 无锁查找
第二篇:Inode 生命周期 — 创建、查找、引用计数与回收
第三篇:页缓存与缓冲区 I/O — 从 folio 到 bio
第四篇:路径查找 — link_path_walk、RCU 快速路径与符号链接解析
第五篇:文件操作与文件描述符表 — open 到 close 的完整生命周期
第六篇:超级块与挂载 — 从 register_filesystem 到用户态看见文件
Gdb
Gdb
Linux内核与应用调试工具集
Gdb
Gdb
Kdump
Kdump
Kdump
Kdump
修复kunpeng 920 dpu主机无法生成vmcore
Sysrq trigger
Sysrq trigger
echo g > /proc/sysrq_trigger
uos-1060 kgdb 修复
基于kgdb调试uos-1060-6026
Kernel
Kernel
Linux Kernel Quick Guide
Linux内核学习资源
Irq
Irq
中断线程化 — request_threaded_irq 与 force_irqthreads
Bugs
Bugs
修复 8250 串口驱动共享 IRQ 竞态导致的 use-after-free
Irq deep dive
Irq deep dive
第一篇:IRQ 描述符与 request_irq — 中断注册的完整生命周期
第二篇:IRQ Chip 与 Flow Handlers — Level/Edge/FASTEOI 三种处理方式
第三篇:/proc/interrupts 与 虚假中断检测 — show_interrupts 与 note_interrupt
第四篇:SoftIRQ 与 Tasklet — 下半部中断处理机制
第五篇:CPU Hotplug、MSI 与电源管理 — IRQ 的跨 CPU 迁移与睡眠唤醒
Tick
Tick
Tickless
Tickless
Linux 4.19 内核 Tickless 机制与 RCU Stall 问题分析总结
Locking
Locking
Hard Lockup 与 Soft Lockup 的区别
spin_lock 内核实现全景 — 从 fast path 到 PREEMPT_RT
spin_lock + local_bh_disable 配合使用 — 锁与下半部的协同
Lockup deep dive
Lockup deep dive
第一篇:初始化 — lockup_detector_init 全链路
第二篇:Soft Lockup — hrtimer 驱动与 is_softlockup 判定
第三篇:Hard Lockup (Perf) — NMI 事件与溢出回调
第四篇:Hard Lockup (Buddy) — CPU 互检与 miss 阈值
Spinlock deep dive
Spinlock deep dive
第1篇:三层类型体系 — arch_spinlock_t → raw_spinlock_t → spinlock_t
第2篇:qspinlock 慢路径 — pending、MCS 队列与锁传递
第3篇:PREEMPT_RT 与 rwlock — spin_lock 变身 rt_mutex + 公平读写锁
第4篇:seqlock 与全量 API 参考 — 序列锁、调用链与选择决策树
Rcu
Rcu
RCU 回调与 RCU_SOFTIRQ — rcu_do_batch 与回调生命周期
Bugs
Bugs
dpu iperf soft lockup
Rcu process callbacks
Rcu process callbacks
rcu hard lockup
Rcu deep dive
Rcu deep dive
第一篇:RCU 核心 — Grace Period 状态机与合并树
第2篇:RCU API — rcu_read_lock、synchronize_rcu、call_rcu 与指针宏
第三篇:RCU 变体 — SRCU、Tasks RCU 与 Tiny RCU
第四篇:RCU 诊断 — 拖延检测、加速 GP 与回调卸载
Sched
Sched
Linux 上下文切换深度解析 — 四种切换各自保存什么
动态隔离核心 (Dynamic Housekeeping & Enhanced Isolation - DHEI) 开发计划
Systemd系统管理
进程管理
Bugs
Bugs
Cfs
Cfs
run_rebalance_domains
K8s pod vm
K8s pod vm
k8s pod vm causes host to lag
Sched deep dive
Sched deep dive
第一篇:CFS 与 EEVDF — 公平调度与 vruntime
第二篇:优先级与调度类链 — 从 prio.h 到 sched_class 的完整体系
第三篇:RT 与 Deadline — 实时调度的两种面孔
第四篇:负载均衡与调度域 — 多核均衡的艺术
第五篇:sched_ext — BPF 可扩展调度器
Sources
Sources
Linux 0.11 yuan xy
Linux 0.11 yuan xy
Linux 0.11 debug
Linux 0.11 debug
linux-0.11调试
Time
Time
Hrtimer deep dive
Hrtimer deep dive
第1篇:核心数据结构与红黑树操作
第2篇:时钟基准:MONOTONIC/REALTIME/BOOTTIME/TAI
第3篇:Timer Wheel:传统低精度定时器
第4篇:NO_HZ 与动态时钟 (tick-sched)
第5篇:时钟源 — 从 TSC 到 HPET 的选择与验证
Trace
Trace
Linux 追踪与性能分析框架全景图
性能调优
Bpf
Bpf
BPF Verifier bpf_patch_insn_data 当前实现分析
BCC (BPF Compiler Collection)
BPFtrace动态跟踪工具
性能之巅
Bpf deep dive
Bpf deep dive
第1篇:BPF 程序加载 — struct bpf_prog 与 BPF_PROG_LOAD
第2篇:Verifier — 循环检测、类型追踪与边界检查
第3篇:BPF Maps — BPF_MAP_CREATE、lookup/update 与 map 类型
第6篇:BPF 程序运行 — BPF_PROG_TYPE_KPROBE/TRACEPOINT/PERF_EVENT 与 bpf_trace.c
第7篇:BPF JIT 编译器 — 从 bytecode 到 x86 原生代码
Patch
Patch
bpf/verifier: Optimize ID mapping reset in states_equal
Bugs
Bugs
使用trace-cmd后ftrace损坏
Events
Events
Patch
Patch
watchdog/hardlockup: simplify perf event probe and remove per-cpu dependency
Perf
Perf
CVE-2024-50099
243205
243205
lightdm.service waits for plymouth-quit-wait.service to release display resources
Perf deep dive
Perf deep dive
struct perf_event 与 perf_event_open — 内核性能事件子系统深度解析
第2篇:Ring Buffer — 用户态 mmap 与采样数据写出
第3篇:x86 PMU 驱动 — 硬件计数器与 NMI 采样
第4篇:tracepoint、ftrace 集成与 perf 工具链
第5篇:Kprobe、Uprobe 与 Tracepoint — 三大探测机制与 perf 集成
Perf event
Perf event
perf_event空指针导致卡死
Unixbench
Unixbench
UnixBench Context1 Analysis
UnixBench Pipe Analysis
UnixBench Spawn Analysis
Unixbench Pipe-based Context Switching
Ftrace
Ftrace
Ftrace deep dive
Ftrace deep dive
第1篇:ftrace 核心 — mcount 桩、ftrace_ops 与动态替换
第2篇:Tracer 引擎 — trace_array、function/function_graph 与 trace_pipe
第3篇:Trace Events — TRACE_EVENT 宏展开、过滤与 perf 桥接
Stap
Stap
SystemTap内核跟踪工具
Mm
Mm
min_free_kbytes 对 GFP_ATOMIC 内存分配的影响分析
内存管理
Bugs
Bugs
237413
237413
237413|亿道KU18C 系统下内存信息PN与实际少1位
238303
238303
fix kmemleak on get_cpu_name
virtio_gpu_fence_alloc kmemleak leads to a very high memory of the kmalloc-128 slabs
247295
247295
Unable to handle kernel paging request at virtual address ffff002008c377b0
Deferred split scan
Deferred split scan
虚拟机stress压测产生oops导致重启
Hardware
Hardware
Memory Failure Causes VM Migration, Cloud Host Restart
Insert vmap area augment
Insert vmap area augment
vmalloc_init初始化失败导致phtyium无法启动
Kernel dynamic memory
Kernel dynamic memory
kernel-dynamic-memory nocache very high
Ksmd
Ksmd
Kernel Thread ksmd Running on PMD Isolated Cores Causes High Latency in OVS Packet Processing
stress-ng压力测试工具使用手册
Ksmd taskset
Ksmd taskset
ksmd-taskset打包说明
Si mem available
Si mem available
si_mem_available内存可用性追踪分析
Mm deep dive
Mm deep dive
第一篇:Buddy 页分配器 — 伙伴系统、水位线与迁移类型
第二篇:SLUB 分配器 — sheaf 缓存、slab freelist 与 kmalloc
第三篇:页回收与 OOM Killer — kswapd、直接回收与 out_of_memory
第4篇:缺页处理与 mmap 生命周期 — do_anonymous_page、COW 与 VMA 操作
第5篇:THP、Compaction 与 KSM — 大页、碎片整理与同页合并
第6篇:Memory Cgroup — 分层计费、保护与 OOM
Net
Net
Linux网络收包与epoll协作机制
Linux网络子系统深度解析
vxlan入门.md
win11 wsl2 vm嵌套网络拓扑
Bugs
Bugs
Bandwidth
Bandwidth
海光4号-vm带宽问题分析
Hns3
Hns3
CPU Stuck During Reboot
Netstamp clear
Netstamp clear
netstamp_clear soft lockup
Ovs veth peer
Ovs veth peer
ovs veth peer Soft Lockup on netdev_pick_tx due to zero real_num_tx_queues When Executing ip link del veth0
Rte kni
Rte kni
ret_kni
Server2 99 101
Server2 99 101
dpu server2-99-101打流卡顿
Ssh
Ssh
ssh无法连上dpu host节点
Vhost user vring
Vhost user vring
ovs-dpdk loss packet in vhost-user
Napi deep dive
Napi deep dive
第1篇:NAPI 核心 — napi_struct、napi_schedule 与 net_rx_action
第2篇:GRO — 通用接收卸载
第3篇:驱动集成 — igb 与 NAPI 全程
第4篇:忙轮询与线程化 NAPI
Patch
Patch
netns: optimize netns cleaning by batching unhash_nsid calls
Port forward
Port forward
Proxy
Proxy
Mihomo
Mihomo
mihomo use guide
Security
Security
系统安全
Lsm deep dive
Lsm deep dive
第1篇:LSM 框架与 Hook 调用链 — 从宏到静态调用
第2篇:LSM 模块化与初始化 — DEFINE_LSM、lsm_order_append、ordered_lsm_init
第3篇:POSIX Capabilities 内核实现 — 能力集位图、exec 转换与 securebits
第4篇:SELinux 与 AppArmor — 强制访问控制的内核视角
第5篇:Linux 内核零信任 — Lockdown、Yama、BPF LSM、Landlock
Tools
Tools
Distro
Distro
Deepin
Deepin
Kms
Kms
Pkg
Pkg
Flatpak应用打包与沙盒化
Linux包管理工具使用指南
Deb
Deb
宿主机上打包deb教程
pbuilder教程
Rpm ostree
Rpm ostree
rpm-ostree compose tree
RPM-OSTree镜像系统
rpm-ostree安装教程
Shell
Shell
Zsh与Oh-My-Zsh配置指南
Sysak
Sysak
Shmem
Shmem
sysak shmem 工具详细分析报告
Testing
Testing
Ltp
Ltp
88.5 ltp 失败测试用例分析
Vim
Vim
Vim文本编辑器使用技巧
Virt
Virt
Container
Container
cgroup v1 和 cgroup v2 的核心区别
Docker
Docker
Iptables防火墙配置
Ctyunos
Ctyunos
Setting Up CTYunOS Kernel Build Environment with Docker
使用 dnf --installroot 构建最小 rootfs
Ctyunos2
Ctyunos2
Ctyunos3
Ctyunos3
Ctyunos4
Ctyunos4
Debian
Debian
debian10
Ubuntu
Ubuntu
K8s
K8s
Docker容器技术
Kubernetes容器编排平台
namespace cgroup
K8s集群部署
K8s集群部署
k8s集群安装教程
Linglong
Linglong
Uts namespace
Uts namespace
uts_namespace内核实现
Kvm
Kvm
amd64下交叉编译调试arm64内核
amd64下基于per_cpu变量current_task获取task_struct
amd64下基于qemu tap(NAT网络)、debootstrap调试amd64内核、根文件系统
amd64下基于qemu用户网络、debootstrap调试amd64内核、根文件系统
amd64下基于qemu调试debian12
amd64下基于qemu调试uos-v20-1054
amd64下基于qemu调试uos-v20-1060-amd64
arm64下基于qemu调试uos-v20-1060-arm64
do_initcalls()函数中每个level都有啥
helloworld initramfs
linux 内核调试
mac下基于qemu调试ubuntu-22.04.01
qemu-kvm
vexpress.img虚拟磁盘
去掉编译内核的优化选项
虚拟机CPU拓扑解析
Bugs
Bugs
Kvm stage2
Kvm stage2
Kunpeng 920 多 die core hangs 导致 soft/hard lockup 问题分析
Kickstart
Kickstart
Ctenos
Ctenos
Bios
Bios
CentOS BIOS磁盘分区配置
Uefi
Uefi
CentOS UEFI磁盘分区配置
Ctyun
Ctyun
Kickstart自动化安装系统
Debian
Debian
virt-install auto install debian
Kylin
Kylin
麒麟Kickstart自动化安装
Kvm deep dive
Kvm deep dive
第1篇:KVM 核心 — VM 生命周期、内存槽与 vCPU 调度
第2篇:x86 虚拟化 — VMX/VMCS 与 SVM/VMCB,VM-Entry/Exit 全解析
第3篇:MMU 虚拟化 — EPT/NPT、影子页表与 TDP MMU
KVM Stage 1 vs Stage 2 页表 — 两级地址转换深度解析
第3.2篇:ARM64 KVM 虚拟化全景 — VHE/nVHE、vGIC 与系统寄存器
第4篇:设备直通 — VFIO、IOMMU 与中断重映射
第5篇:半虚拟化 — pvclock、kvmclock、steal time 与 Hyper-V Enlightenment
Qemu
Qemu
qemu编译调试-v2.8.1
qemu编译调试
基于debian9编译调试qemu
Virsh
Virsh
Using virsh to start VM and debug with gdb is simpler than using qemu directly
Markdown
Markdown
Doxygen文档生成工具
LaTeX排版系统
Markdown文档编写与工具集
Nano文本编辑器使用指南
UML统一建模语言与PlantUML
Hexo
Hexo
Fluid
Fluid
fluid主题自定义标签页小图标
Nginx
Nginx
Nginx Web服务器配置指南
Patent
Patent
Flatpak应用打包与分发
玲珑应用包管理系统
玲珑仓库概要设计说明书
Python
Python
Python编程学习笔记
Redis
Redis
Redis缓存数据库
Rust
Rust
cargo教程
Sql
Sql
mysql教程
Svn
Svn
SVN版本控制系统使用指南
shmem
¶
shmem-分析报告
💬 评论
回到页面顶部