February 2, 2020

180 words 1 min read

Boot Time Memory Management

Boot Time Memory Management

Normally, memory allocations in kernel are done using kmalloc(), vmalloc() or their hybrid kvmalloc() functions. They all are baked by the page allocator and alloc_page() functions family. But during …

Talk Title Boot Time Memory Management
Speakers Mike Rapoport (Researcher, IBM)
Conference Open Source Summit + ELC Europe
Conf Tag
Location Lyon, France
Date Oct 27-Nov 1, 2019
URL Talk Page
Slides Talk Slides
Video

Normally, memory allocations in kernel are done using kmalloc(), vmalloc() or their hybrid kvmalloc() functions. They all are baked by the page allocator and alloc_page() functions family. But during system boot when the most of the platform initialization code is run neither of them is available because the allocators are not yet set up.For early memory management Linux has an allocator called memblock that provides the earliest abstraction of the physical memory and can be used nearly from the very beginning of the kernel execution.This talk will cover the memblock APIs, the expectations and requirements for the architecture specific parts of the memory management setup and will wrap up with description of page allocator initialization.

comments powered by Disqus