☁️☁️🌞 ☁
☁ ✈ ☁ 🚁
🏬🏨🏫🏢🏤🏥🏦🏪
👬🌲 / 🚶 |🚍 \🌳👫👫
🌳/ 🚘 |🏃 \🌴🐈
🌴 / |🚔 \🌲👯👯
🌲/🚖 | 🚘 \🌳👭
Collections
我的工作流
反思
技术细节
signal
Dune
Loongson Dune : A Process Level Virtualization framework Base on KVM
裸金属二进制翻译器的设计和实现
我的机器
虚拟化杂谈
- PCIe 基础
- DMA
- 中断
AI 杂谈
- AI Infra 到底在做什么?
- Linux 内核如何随着 AI 来演进
- 还没结束呢!和 AI 的故事,现在才开始!
淦,打一把英雄联盟不可能这么难
这里介绍三种方法在 Linux 上打英雄联盟的方法和背后的原理。
- 双系统
- seabios 和 UEFI 的启动分区 🚧 - grub
- 图形虚拟化
- cirrus-vga
- vga
- virtio-gpu
- 设备直通
- Wine
- wine : 如何实现系统调用虚拟化
- Proton
- 为什么不来玩 Dota 2?
调试内核的几种方法
- 从外部观察
- crash
- drgn
- kvm-dmesg
- gdb kernel
- perf kvm
重新思考计算机系统结构
生活技能
数学
- Softmax 数值稳定技巧
- Seq2Seq 与注意力机制
- LLM PyTorch 数学原理
- GEMM 与卷积
- MLA 与 vLLM 预填充上下文
- 黎曼猜想
- 概率论
- 麦克斯韦方程组
- 数学分析
- 线性代数
- 控制理论
- 分析学
- 代数学
Compiler
Tips
Tools
并行,并发,多核,一致性
- Quiescent consistency,Sequential consistency 和 Linearizability
- wait free,lockfree 和 obstruction free 区分
Potpourri
Guff
- 关于
- https://bento.me/martins3
- 2021 秋招总结
- 有缘再见,龙芯
- Linux 内核的本质就是英雄联盟
- Linux 内核的本质就是原神
Kernel Contribution
- https://github.com/search?q=repo%3Atorvalds%2Flinux+Xueshi&type=commits
Friends
自动文档索引
以下只包含当前 README 手工区还没有引用的 Markdown 文档。
acpi/benchmark/blog/bmbt/concurrent/arch/code/tools/- store-buffer
kernel/lan/perfbook/autoread/chapters/- Introduction
- Hardware and its Habits
- Tools of the Trade
- Counting
- Partitioning and Synchronization Design
- Locking
- Data Ownership
- Deferred Processing
- Data Structures
- Validation
- Formal Verification
- Putting It All Together
- Advanced Synchronization
- Advanced Synchronization: Memory Ordering
- Ease of Use
- Conflicting Visions of the Future
- Looking Forward and Back
- Appendix
- perfbook 阅读思考
- perf book
- perfbook 词汇表
rcu/- Linux 内核 Litmus Tests 介绍
- 并发锁分析工具 lslocks
- Cache Coherence 机制
- 并发编程中违反直觉的例子
- 并发数据结构 readerwriterqueue 分析
- 梳理一下多核的基本生存法则
- 并发编程趣味资源与工具
- memory model: IRIW
- Lockless 无锁设计收集
- Shared Memory Consistency Models: A Tutorial
- Host 与 Guest 同步机制
- 并发编程中 lockless 是什么意思
- 并发调试工具 TSan
- 事务内存初识
- 并行编程实践记录
- 为什么并行编程如此困难
- kernel/sched/membarrier.c syscall
container/cpu/cxl/dataplain/games/grub/hw/kernel/blk/blktrace/ds/fio/mq/- flush
- bio-based 和 request-based 的区分
- bio request request_queue 三者的关系
- drivers/md/dm-rq.c
- Multi-Queue Block IO Queueing Mechanism (blk-mq)
- Block Layer IO 请求路径详解 - Bypass 机制全梳理
- Linux Device Driver : Block Drivers
- blk-mq-debugfs.c
- mq 核心结构体
- storage blk plug 机制
- sbitmap
- 看看文档
- 什么情况下, block_rq_insert 但是无法 block_rq_issue
- 在 blk-mq 里,shared tags 的意思
- 一个 request 创建的时候就需要 tag ,那么意味着创建的时候就需要知道发送给哪一个盘吗?
- 选项 BLK_WBT
- mq 的 queue 的数量就是 hctx 的数量
nvme/raid/scsi/- Linux block layer 用户态工具
- iostat 的每一项的含义是什么
- hdpara
- fio 使用
- iowait
- smartctl
- bcache
- Blockdev 源码分析
- block layer integrity
- 分析下 disk events
- blk layer lock
- loop device
- device mapper
- nbd
- null blk
- sata
- Zoned block devices
cgroup/cpuinfo/dts/fpu/fs/epoll/ext4/fuse/fuse-bench/- 3fs
- cuse
- FUSE 机制梳理
- fuse
- virtio-fs 简单尝试
nfs/simplefs/- acl
- autofs 的作用
- bcachefs
- binfmt_elf.c
- btrfs
- buffer.c
- dax
- VFS 文档
- cp vs mv 替换运行中二进制
- fsfreeze
- fsnotify
- 文件系统功能分类
- inode
- fs/iomap
- iops
- fs 的 lock 设计
- mount
- 关键源码位置
- 基本 io 流程
- pipe
- relay fs
- configfs
- kernfs
- 总结一下各种虚拟文件系统
- 为什么设计一个文件系统是很难的
- writeback
- attr && xattr
- xfs
- fs 基础
- zfs
- zonefs
gcc/inline-asm-tutorial/- gcc 内联汇编
hotos/hp/iouring/ipmi/irq/lpc/lsfmmbpf/mm/slub/- Idle Page Tracking
- madvise
- Backing Device
- Buddy System
- CMA
- Memory Compaction
- Copy-On-Write
- DAMO
- DAMON Lab 3
- DAMON
- Page Poisoning
- Memory Failure
- Page Cache
- Fixmap
- Folio
- GFP Flags
- Get User Pages
- High Memory
- HMM
- HugeTLB Bug List
- HugeTLB Filesystem
- HugeTLB
- HugeTLB Surplus Bug
- ioremap 和 resource 机制
- Memory Isolation
- khugepaged
- KSM
- Memory Management Locking
- malloc
- 解释 folio->mapping 的含义
- Memblock
- memfd
- Memory Policy
- Memory Pool
- Page Migration
- copy_from_user
- mlock
vm_area_struct::vm_operations_struct结构体的作用- MMU Notifier
- OOM
- page::private
- Page Reporting
- Page Writeback
- Page Fault
- Page Flags
- Page Owner
- Page Table Flags
- Page Poisoning
- Readahead
- Page Refcount
- Reverse Mapping
- shmem
- kernel stack
- Transparent Huge Pages
- Memory Tiering
- Thread-Local Storage
- tmpfs
- Memory Tracepoints
- Userfaultfd
- Virtio-mem (QEMU)
- Virtio-mem
- Virtio-pmem
- vmalloc
- Sparse Vmemmap
- vmflags
- mm shrinker
- VM Pressure
- Multi-Gen LRU
- Page Reclaim
- mm vmscan
- Watermarks
- Workingset
- z3fold / zbud
- Memory Zones
- numa balancing 工作原理
- NUMA
- Virtio Balloon Debug
- Virtio Balloon
- Virtio Balloon (QEMU)
- folio_clear_swapbacked 和 __folio_clear_swapbacked 区别是什么?
module/ospm/release/sched/code/- https://lwn.net/Articles/639543/
- balance
- 主要参考资料
- context switch
- sched debugfs
- scheduler 内核文档
- EEVDF 把 SCHED_BATCH 给干没了
- exec
- https://github.com/sched-ext/scx
- fork
- CPU freq
- CONFIG_CFS_BANDWIDTH
- hung task 机制
- idle 子系统
- IRQ_TIME_ACCOUNTING
- cpu isolation
- load avg
- martins3 scheduler
- pelt
- pid
- pid 高级话题
- pidfd
- preempt rt
- preempt
- process 的状态 procstat
- wait syscall
- psi
- ptrace
- rt.c 分析
- sched/stop_task.c
- TIF
- 先把玩一下 sched 中各个 trace 点
- ttwu
- uclamp
- CLONE_THREAD 和 CLONE_VM
security/signal/sriov/swap/sysfs/tty/tutorial/crash/drgn/initramfs/- 和社区沟通
- 使用 kernel 中调试工具
- DKMS
- dmesg 的基本使用
- 阅读文档
- 先收集起来
- fuzz
- gdb kernel 的常用命令
- git
- kcov
- kgdb
- Linux kernel Labs 笔记
- 杂谈
- prepare
- proxmox 基本使用
- sparse && smatch
- Linux 测试
- ubsan
- uml
- 记录一些极其奇怪的问题
usb/vfio/vhost/xdc/- 分析一些基本问题
- 原来 qemu 可以指定 gic 版本
- 收集经典 backtrace
- rfkill
- AMBA
- nvlink
- psi
- tilelink
- bus
- CFI in kernel
- 中国 Linux 大会记录
- 谈谈 kernel 构建的基本技术
- linux 设备驱动
- 对 swap device 错误注入
- 错误注入
- 记录一些 Linux kernel 中好玩的东西
- futex
- hid
- 基本启动流程
- 总结常用的 kernel cmdline
- 内核学习经验 : 进阶版
- livepatch
- dracut 这个警告有意思
- 杂记
- mknod
- namespace
- notifier
- resource
- rlimit
- rng
- sel4
- 内核屎山评选
- QEMU 屎山评选
- sound
- syscall
- sysv ipc
- 命令缩写
- 为什么 Linux Kernel 的代码质量比 QEMU 更高
kr/kvm/aarch64/features/fun/hyperv/hypervisor/kvm-forum/mmu/- L1 中观测到 kvm_set_pfn_dirty
async_pf- EXIT_REASON_EPT_VIOLATION vs EXIT_REASON_EPT_MISCONFIG
- ept 格式的定义在哪里呢?
- 分析这个
- 为什么 kvm 需要特殊处理 hugepage
- TODO
- Documentation/virt/kvm/x86/mmu.rst
- kvm_vcpu_arch 中的 5 个 MMU 的含义
- kvm mmu notifier
- kvm track mode
- 为什么需要 arch/x86/kvm/mmu/paging_tmpl.h 来处理各种情况
- PDPTR 是什么?
- 参考资料
- for_each_shadow_entry
- tdp_mmu
- KVM TLB Flush 机制分析
- kvm_mmu_invalidate_addr 是唯一的入口
- tlb flush 的基本原理
nested/svm/- lab
- 复杂啊 : 看看 reference 的位置!
- cr0
- 基本内容
- 到底什么时候需要 emulate
- SGX
- event injection
- 将所有的 exit reason 都整理下
- 什么是 FRED ?
- kvm interrupt window 到底在说什么
- KVM
- 通过 kvm_vfio_ops 来理解 kvm_device_ops
- 问题
- KVM Lock Overview
- 使用 tracepoint 来跟踪 kvm_check_request
- pfncache.c 以及其他的辅助函数
- KVM_CAP_COALESCED_MMIO
- 如何理解 msr exit 的优化?
- mtrr
- ple windo
- qemu 如何支持 kvm 的
- secure
- kvm selftests
- kvm 如何支持 smm
- 记录几个相见恨晚的 tracepoint 点
- Intel VMCS 字段表
- 记录下 x86.c 的内容
- SVM_EXIT_TASK_SWITCH 和 EXIT_REASON_TASK_SWITCH
linux/tlpi/0/1/2/3/4/5/6/- 为 tlpi 的可执行文件添加.out 扩展名
- Makefile
- 有趣的
- ansible 记录
- Debugger 的理念,原理和使用
- 阅读 musl 学到的一些东西
- omarchy
- 如何给 OpenEuler 提交打包
- ubuntu 使用的问题合集
net/demo/geneve/kernel/core/ipv4/mac80211/sched/- 记录一下网络栈的一些源码分析
misc/pxe/rdma/sfc/vxlan-demo/- linux/net/9p 和 linux/fs/9p 这两个文件夹是什么关系
- bgp
- bonding
- bridge
- 赛博活佛
- dhcp client 的基本操作
- 如何理解这个这几个配置?
- DNS
- BlueField-3
- 背景介绍
- geneve
- gro
- icmp
- igmp
- ipsec 是什么
- ipvlan
- ipvs
- 网络杂谈
- ipvs
- lldp
- LWT(Light Weight Tunnel)是什么?
- macvlan
- mptcp
- net zero copy
- backlog
- neighbour
- 网络基本配置
- 网络问题常见排查思路
- Linux kernel network stack lock
- loopback 网卡
- mlx5
- 网络的 namespace
- net-phy
- Network Route
- rpc
- net-sendfile
- network timestamping
- Network tools internals
- vsock
- linux 网络基础查漏补缺
- netconsole
- 这应该就是 kernel network 的会议吧
- netfilter
- netlink
- nettrace
- nic driver
- 网卡名称
- nmcli 基本使用
- network offload
- ovn
- openvswitch
- 网络性能
- 从这里切入的确不错
- mac 会不断的产生这个日志
- 关于 clash 代理的两个基本问题
- qdisc
- quic
- raw socket
- rds
- RxRPC
- unix domain 分析
- sctp
- smart-nic
- snmp
- socat
- https://linux.die.net/man/7/socket
- sockmap
- ssh
- stp
- rpc
- switch
- tailscale
- tc 和 tcp congestion control
- tcp ip syn
- A TCP/IP Tutorial 阅读笔记
- tcptrace 如何使用
- tipc
- tls
- tun tap
- linux 的 tunnel 技术
- unix domain 分析
- quic
- netmap
- level-ip
- veth
- virtio-net
- tracking
- GVE
- wireguard
- xdp
- enum netdev_priv_flags
pci/qemu/aarch64-user/bios/block/dev/memory/migration/qom/tcg/thread/glib/- AioContext
- qemu 中的 atomic 使用
- aio_bh_poll 的作用
- Big QEMU Lock
- 从 setjmp 到 coroutine
- coroutine
- util/defer-call.c
- doc
- FDMonOps
- Event Loop in glib
- block/graph-lock.c
- QEMU 中的锁
- qemu lockcounters
- QEMU Event Loop
- qemu rcu
- qemu 的 thread pool 的作用
- qemu 到底有那些 thread
- QEMU AIO 事件循环架构分析
- QEMU
AioContext与 GLib 连接机制 - qemu 中的 aio 的工作机制
- alpine iso 可以直接启动使用
- 如何给 qemu 配置 cdrom
- QEMU 的挑战者
- 分析 QEMU 的每一个模块和演化过程
- qemu io/ 目录中的功能
- QEMU 字符设备模拟
- 如何正确的配置 qemu 的 memory 和 cpu
- 经典例子
- QEMU 启动代码
- QEMU 初始化过程分析
- QEMU 概述
- 设置环境变量方便编译示例
- libkrun
- microvm
- qemu 中关于 page size 问题的合集
- Official Docs
- qemu 如何做测试的
- qht 移植
- qmp 和 hmp
- multi-process qemu
- CPUX86State reset
- slirp
- QEMU 中的 trace 机制
rust/shell/tools/trace/bpftime/ebpf/bcc/cilium/ra/- 基本使用方法
ebpf-doc/ftrace/perf/tools/bpftrace/- 计划和代办
- Linux Trace 技术整理报告
- bpftrace
- trace 相关的文档
- kallsyms_lookup_name
- kprobe
- libtraceevent
- mce 的工作原理
- 观测
- valgrind
- 先不搞那些虚的东西,分析清楚下面这个问题
- pcm
- strace 基本使用
- systemtap
- trace 传统工具
- arm 环境的确容易出现 backtrace 没有的情况
- tracepoint 的积累已经很多了
- 用户态符号基础
- noinstr code
uefi/virt/virtio/vmware/windows/xen/
本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。