Deferred Memblocks Init for Boot Time Reduction
summary
Linux boots with a reduced RAM set (use mem=2G on a 12GB board) and adds the remaining blocks later via memory hotplug (kernel kthreads or a userspace service, 128MB blocks), which parallelizes initialization across CPUs and saves ~160–200 ms on SM8550 (~20–30 ms per GB). Requires CONFIG_MEMORY_HOTPLUG, handles zone placement (online vs movable), and hits limits from zone locks and tuning (must budget normal vs movable zones). Upstream path favors a kernel add-memory-to-zone API and a deferred memblock init flow.
AI-written summary · about
chapters (13)
- 0:00Introduction and motivation
- 2:39Memory initialization process
- 4:26Deferred memory concept
- 6:40Implementation strategies
- 8:11Workflow and memory zones
- 12:14Limiting boot memory
- 14:45Kernel vs user space methods
- 16:32Flexibility limitations
- 16:48Unified user space approach
- 18:56Boot time reduction KPIs
- 22:13Challenges and considerations
- 26:14Future plans and upstreaming
- 30:15Q&A session
related talks
44mImproving kexec boot time
29mTowards an Alternative Memory Architecture
15mThe Practice Method to Speed Up 10x Boot-up Time for Guest in Alibaba Cloud
40mInspecting and Optimizing Memory Usage in Linux
51mDemystifying Memory: A Practical Tutorial on Managing & Optimizing Memory in Zephyr
51mDemystifying Memory: A Practical Tutorial on Managing & Optimizing Memory in Zephyr
24mSoftware Optimization for Early Linux Boot for Time Critical...
48mThe Cost of Security: Measuring and Reducing Boot-Time Impact
