Tag

Linux Kernel

1 views collected around this technical thread.

Big Data Technology Tribe
Big Data Technology Tribe
Jun 10, 2025 · Cloud Native

Mastering eBPF Maps: Design, Implementation, and Real‑World Use Cases

This article provides an in‑depth analysis of BPF maps—explaining their design principles, core features, various map types with code examples, and the macro expansion process that turns high‑level BCC helpers into native kernel map definitions for cloud‑native observability.

BCCBPF mapsLinux Kernel
0 likes · 12 min read
Mastering eBPF Maps: Design, Implementation, and Real‑World Use Cases
Deepin Linux
Deepin Linux
Jun 6, 2025 · Fundamentals

How eBPF Can Tackle Linux Memory Fragmentation and Boost Android Performance

This article explains the problem of internal and external memory fragmentation in Linux systems, introduces eBPF as a powerful tracing tool, and provides step‑by‑step guidance for building, loading, and running eBPF programs to analyze and mitigate fragmentation on both Linux and Android platforms.

AndroidLinux Kernelbpf
0 likes · 22 min read
How eBPF Can Tackle Linux Memory Fragmentation and Boost Android Performance
Deepin Linux
Deepin Linux
Jun 4, 2025 · Fundamentals

Understanding and Using Kprobes for Dynamic Kernel Debugging

This article explains the concept, architecture, key data structures, registration process, implementation details, limitations, configuration steps, and practical examples of using Kprobes to dynamically instrument and debug Linux kernel functions without recompiling or rebooting the system.

KprobesLinux Kerneldynamic debugging
0 likes · 25 min read
Understanding and Using Kprobes for Dynamic Kernel Debugging
Refining Core Development Skills
Refining Core Development Skills
May 27, 2025 · Fundamentals

Understanding NUMA in Linux: Hardware Principles, ACPI Tables, and Kernel Initialization

This article explains the hardware basis of NUMA, how Linux reads ACPI SRAT and SLIT tables to discover CPU‑memory topology, the kernel functions that initialize NUMA structures, and how the memblock allocator incorporates this information to enable performance‑optimizing tools like numactl.

ACPILinux KernelMemory Management
0 likes · 13 min read
Understanding NUMA in Linux: Hardware Principles, ACPI Tables, and Kernel Initialization
Deepin Linux
Deepin Linux
May 24, 2025 · Information Security

Understanding KASAN: Kernel Address Sanitizer for Detecting Memory Errors in Linux

The article introduces KASAN, a Kernel Address Sanitizer for Linux that uses shadow memory and redzones to accurately detect out‑of‑bounds accesses, use‑after‑free, and double‑free errors, explains its underlying mechanisms, shows how to enable it in the kernel, and provides extensive example code and log analysis.

KASANKernel Address SanitizerLinux Kernel
0 likes · 34 min read
Understanding KASAN: Kernel Address Sanitizer for Detecting Memory Errors in Linux
Deepin Linux
Deepin Linux
Mar 31, 2025 · Fundamentals

Understanding and Using Ftrace for Linux Kernel Tracing

This article provides a comprehensive guide to Linux's ftrace tool, explaining its purpose, various tracers, how to set up and use it via debugfs, detailed command examples, implementation details, practical use cases for performance tuning and debugging, and a comparison with other tracing utilities.

Linux KernelPerformance analysisSystem Tracing
0 likes · 40 min read
Understanding and Using Ftrace for Linux Kernel Tracing
Deepin Linux
Deepin Linux
Mar 27, 2025 · Fundamentals

Understanding Linux Memory Barriers: Concepts, Types, and Implementation

This article explains why modern multi‑core CPUs need memory barriers, describes the different kinds of barriers (full, read, write), shows how they are implemented in the Linux kernel and hardware, and illustrates their use in multithreaded and cache‑coherent programming.

CPU architectureCache CoherenceLinux Kernel
0 likes · 41 min read
Understanding Linux Memory Barriers: Concepts, Types, and Implementation
Deepin Linux
Deepin Linux
Mar 21, 2025 · Fundamentals

Understanding Memory Pools: Concepts, Implementations, and Practical Use Cases

This article explains the concept of memory pools, how they reduce allocation overhead and fragmentation compared to traditional malloc/new, describes various pool designs and Linux kernel APIs, provides multiple C and C++ implementations, and discusses performance benefits and typical application scenarios such as servers, real‑time and embedded systems.

C++Linux Kernelallocation
0 likes · 40 min read
Understanding Memory Pools: Concepts, Implementations, and Practical Use Cases
Refining Core Development Skills
Refining Core Development Skills
Feb 19, 2025 · Operations

Linux Kernel Memory Detection via E820 Mechanism

This article explains how the Linux kernel detects physical memory during boot by leveraging the E820 mechanism, where firmware reports memory ranges via interrupt 15H, enabling the kernel to map usable memory addresses for subsequent allocation.

E820Linux KernelMemory Management
0 likes · 8 min read
Linux Kernel Memory Detection via E820 Mechanism
Deepin Linux
Deepin Linux
Feb 7, 2025 · Fundamentals

Understanding ext4 Extent: Data Structures and B+‑Tree Mechanism

This article explains the purpose, design, and internal data structures of ext4 extents, describes how the B+‑tree indexes extents for efficient mapping of logical to physical blocks, and compares ext4’s extent mechanism with older file‑system addressing methods and other modern file systems.

B+ TreeData StructuresEXT4
0 likes · 37 min read
Understanding ext4 Extent: Data Structures and B+‑Tree Mechanism
Deepin Linux
Deepin Linux
Feb 3, 2025 · Backend Development

Understanding and Using io_uring for High‑Performance Asynchronous I/O in Linux

This article introduces Linux's io_uring framework, explains its design goals and advantages over traditional I/O models, details its core components and system calls, provides step‑by‑step implementation examples for file and network operations, and discusses performance comparisons and practical application scenarios.

Linux Kernelasynchronous I/Ohigh performance
0 likes · 43 min read
Understanding and Using io_uring for High‑Performance Asynchronous I/O in Linux
Architect's Guide
Architect's Guide
Jan 9, 2025 · Backend Development

Investigation and Resolution of Random Nacos Service Deregistration in a Spring Cloud Alibaba Microservice Cluster

This article details a week‑long investigation of intermittent Nacos service deregistration in a Spring Cloud Alibaba microservice environment, describing the background architecture, multiple hypothesis tests, diagnostic commands, kernel version mismatch, and the final fix by upgrading the Linux kernel.

Linux KernelMicroservicesNacos
0 likes · 7 min read
Investigation and Resolution of Random Nacos Service Deregistration in a Spring Cloud Alibaba Microservice Cluster
Architecture Development Notes
Architecture Development Notes
Jan 5, 2025 · Fundamentals

Why Rust Is Safer Than C for Linux Kernel Modules

This article explains how Rust's memory safety, concurrency guarantees, explicit error handling, and modern tooling make it a safer and more maintainable alternative to C for developing Linux kernel modules.

C++Linux KernelMemory Safety
0 likes · 10 min read
Why Rust Is Safer Than C for Linux Kernel Modules
Deepin Linux
Deepin Linux
Jan 4, 2025 · Fundamentals

Early I/O Memory Mapping (early_ioremap) in the Linux Kernel

The article explains the purpose, implementation, and usage of early I/O memory mapping (early_ioremap) in the Linux kernel, detailing its initialization, fixmap foundations, code flow, and differences from regular ioremap, with examples and kernel source snippets.

I/OLinux Kernelboot process
0 likes · 39 min read
Early I/O Memory Mapping (early_ioremap) in the Linux Kernel
Deepin Linux
Deepin Linux
Jan 3, 2025 · Fundamentals

Understanding the Linux Kernel Exception Table __ex_table and Its Role in Exception Handling

This article provides a comprehensive overview of the Linux kernel's exception handling mechanism, focusing on the __ex_table data structure, its creation via macros, how the kernel locates and executes fix‑up code, and the supporting APIs and sorting process that ensure reliable recovery from faults.

Exception HandlingLinux KernelLow-level programming
0 likes · 21 min read
Understanding the Linux Kernel Exception Table __ex_table and Its Role in Exception Handling
Tencent Cloud Developer
Tencent Cloud Developer
Jan 3, 2025 · Operations

Deep Dive into Linux Kernel Page Cache Xarray: Problem, Analysis, and Optimizations

The article examines a long‑standing hidden bug in the Linux kernel’s page‑cache Xarray that caused occasional data loss with Large Folio support, details its discovery and fix by the TencentOS team, and shows how consolidating multiple tree walks into a single walk in Linux 6.10 reduced latency and improved performance by about ten percent.

Bug FixLinux KernelPerformance Optimization
0 likes · 27 min read
Deep Dive into Linux Kernel Page Cache Xarray: Problem, Analysis, and Optimizations
Deepin Linux
Deepin Linux
Dec 30, 2024 · Fundamentals

Understanding NUMA Node Detection and Memory Management in the Linux Kernel

This article explains the fundamentals of NUMA architecture, how Linux detects and represents NUMA nodes, the memory zone hierarchy, allocation policies, and practical techniques such as using numactl and taskset to bind processes for optimal performance on multi‑socket servers.

Linux KernelMemory ManagementNUMA
0 likes · 22 min read
Understanding NUMA Node Detection and Memory Management in the Linux Kernel
Refining Core Development Skills
Refining Core Development Skills
Dec 12, 2024 · Fundamentals

Understanding How strace Works: A Step‑by‑Step Implementation Using ptrace

This article explains the inner workings of the classic strace command by walking through a handcrafted implementation that uses ptrace to attach to a target process, capture its system calls, read the ORIG_RAX register, and print the syscall name, while also detailing the relevant kernel source code.

Linux Kerneldebuggingptrace
0 likes · 15 min read
Understanding How strace Works: A Step‑by‑Step Implementation Using ptrace
Deepin Linux
Deepin Linux
Nov 12, 2024 · Fundamentals

Understanding Linux Memory Barriers: Types, Usage, and Implementation

This article provides a comprehensive overview of Linux memory barriers, explaining why they are needed for correct ordering of memory operations on modern multi‑core CPUs, describing the different barrier types (read, write, full), their implementation in the kernel and Java, and illustrating their use in synchronization primitives and lock‑free data structures with code examples.

CPU architectureLinux KernelSynchronization
0 likes · 71 min read
Understanding Linux Memory Barriers: Types, Usage, and Implementation