Linux Kernel Journey
Author

Linux Kernel Journey

Linux Kernel Journey

127
Articles
0
Likes
225
Views
0
Comments
Recent Articles

Latest from Linux Kernel Journey

100 recent articles max
Linux Kernel Journey
Linux Kernel Journey
Mar 3, 2025 · Fundamentals

Understanding KVM Hyp Mode Memory Mapping Initialization

This article walks through the step‑by‑step initialization of KVM's hyp mode memory mapping on ARM64, covering EL2 register setup, identity mapping, page‑table allocation, stack preparation, and code section mappings required for a functional hypervisor environment.

ARM64EL2KVM
0 likes · 13 min read
Understanding KVM Hyp Mode Memory Mapping Initialization
Linux Kernel Journey
Linux Kernel Journey
Feb 27, 2025 · Cloud Native

Designing FUSE: From Kernel VFS to Userspace and JuiceFS Performance

This article explains the evolution of file system architecture from kernel‑level VFS to userspace via FUSE, reviews the historical role of NFS, details JuiceFS's implementation on top of FUSE, and presents benchmark results that demonstrate its high throughput and practical limitations.

Distributed storageFUSEJuiceFS
0 likes · 15 min read
Designing FUSE: From Kernel VFS to Userspace and JuiceFS Performance
Linux Kernel Journey
Linux Kernel Journey
Feb 25, 2025 · Operations

How to Dynamically Trace Kernel Functions with eBPF Using Last Branch Record

Last Branch Record (LBR) is a CPU‑level feature that records branch jumps; the Linux kernel’s bpf_get_branch_snapshot helper (since 5.16) enables eBPF programs to capture LBR data, and the bpflbr tool demonstrates how to trace kernel functions and bpf program execution, disassemble code, and output call stacks.

Last Branch Recordbpf_get_branch_snapshotbpflbr
0 likes · 9 min read
How to Dynamically Trace Kernel Functions with eBPF Using Last Branch Record
Linux Kernel Journey
Linux Kernel Journey
Feb 23, 2025 · Fundamentals

Debugging C++ Deadlocks on Linux with Shell Commands and GDB

This article explains how to identify and resolve multithreaded deadlocks in Linux C++ programs by using shell utilities such as ps and top for initial diagnosis, then attaching GDB to inspect thread stacks and pinpoint the exact lock contention causing the freeze.

C#DeadlockShell
0 likes · 20 min read
Debugging C++ Deadlocks on Linux with Shell Commands and GDB
Linux Kernel Journey
Linux Kernel Journey
Feb 20, 2025 · Fundamentals

When a Linux Program Crashes: Using Backtrace to Quickly Pinpoint the Fault

This article explains why Linux programs may exit unexpectedly, introduces the backtrace utility and its underlying call‑stack mechanism, and provides step‑by‑step instructions—including compilation flags, signal handling, and address‑to‑source mapping—to accurately locate the root cause of crashes.

C#Debuggingaddr2line
0 likes · 25 min read
When a Linux Program Crashes: Using Backtrace to Quickly Pinpoint the Fault
Linux Kernel Journey
Linux Kernel Journey
Feb 17, 2025 · Fundamentals

Master Linux Interprocess Communication and End Process Isolation Issues

This article explains why Linux processes need to communicate, describes the kernel‑mediated IPC framework, compares shared‑memory and message‑passing approaches, and provides detailed code examples for pipes, FIFOs, signals, files, semaphores, sockets, plus real‑world use cases and case studies.

C ProgrammingIPCInterprocess Communication
0 likes · 31 min read
Master Linux Interprocess Communication and End Process Isolation Issues
Linux Kernel Journey
Linux Kernel Journey
Feb 16, 2025 · Fundamentals

Understanding Multi‑Core Hardware Topology and Linux sched_domain

The article explains how Linux kernel scheduling uses a hierarchical topology—balancing load and preserving cache affinity—by mapping real‑world multi‑core hardware structures such as sockets, dies, clusters, and NUMA nodes to sched_domain and sched_group, and shows how to inspect and tune this layout with CONFIG_SCHED_DEBUG and QEMU simulation.

hardware topologykernellinux
0 likes · 9 min read
Understanding Multi‑Core Hardware Topology and Linux sched_domain
Linux Kernel Journey
Linux Kernel Journey
Feb 12, 2025 · Cloud Native

Dynamic Filtering of Function Parameters with eBPF

The article explains how to add runtime‑configurable filtering of kernel function arguments in eBPF programs by parsing a C‑style expression, validating its AST, converting it to BPF instructions using BTF metadata, and injecting the generated code into the probe, with a complete example for skb filtering.

BPFBTFGo
0 likes · 15 min read
Dynamic Filtering of Function Parameters with eBPF
Linux Kernel Journey
Linux Kernel Journey
Feb 5, 2025 · Fundamentals

Boost Code Performance by Leveraging CPU Cache Principles

This article explains how CPU caches bridge the speed gap between the processor and main memory, describes cache hierarchy, locality principles, write policies, coherence protocols, and provides concrete C code examples and practical tips such as data alignment and loop restructuring to improve cache hit rates and overall program speed.

CPU cacheCache OptimizationMESI Protocol
0 likes · 30 min read
Boost Code Performance by Leveraging CPU Cache Principles