Tagged articles
4 articles
Page 1 of 1
Deepin Linux
Deepin Linux
Mar 14, 2026 · Fundamentals

Mastering Linux CMA: How the Contiguous Memory Allocator Solves Fragmentation

This article explains the challenges of allocating large contiguous physical memory in Linux, introduces the Contiguous Memory Allocator (CMA) as a solution, and provides in‑depth coverage of its design, reservation, migration, data structures, initialization, configuration, usage in drivers, and debugging techniques.

CMAContiguous Memory AllocatorDMA
0 likes · 35 min read
Mastering Linux CMA: How the Contiguous Memory Allocator Solves Fragmentation
Liangxu Linux
Liangxu Linux
Jun 11, 2024 · Fundamentals

Why OTA Updates Trigger Device Reboots and How to Fix OOM Crashes

This article explains OTA update mechanisms, analyzes why over‑the‑air upgrades cause frequent device reboots due to OOM‑killer and memory fragmentation, and provides concrete steps to disable panic_on_oom and adjust CMA settings to prevent crashes.

CMADevice RebootEmbedded Linux
0 likes · 5 min read
Why OTA Updates Trigger Device Reboots and How to Fix OOM Crashes
Liangxu Linux
Liangxu Linux
Sep 18, 2023 · Fundamentals

Master Linux Memory Management: From CPU Access to CMA and Page Faults

This comprehensive guide walks through Linux memory management, explaining CPU memory access, virtual‑to‑physical address translation, page‑table structures, zone organization, the buddy and slab allocators, vmalloc, page‑fault handling, and the Contiguous Memory Allocator (CMA) with detailed code examples and diagrams.

CMASlab Allocatorbuddy allocator
0 likes · 29 min read
Master Linux Memory Management: From CPU Access to CMA and Page Faults
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Mar 10, 2023 · Fundamentals

CMA (Contiguous Memory Allocator) Technical Principle Analysis and Source Code Interpretation

Linux’s Contiguous Memory Allocator (CMA) reserves and manages large physical memory blocks for devices by integrating with the Buddy system, using structures like struct cma, bitmap allocation, and APIs such as cma_init_reserved_mem and cma_alloc, while handling page migration, LRU and per‑CPU PCP caches to ensure efficient allocation and release.

CMAContiguous Memorybuddy system
0 likes · 15 min read
CMA (Contiguous Memory Allocator) Technical Principle Analysis and Source Code Interpretation