System memory layout - kernel space and user space
Kernel addresses – concept of low and high memory
Low memory
High memory
User space addresses
Virtual Memory Area (VMA)
Address translation and MMU
Page look up and TLB
How does TLB work
Memory allocation mechanism
Page allocator
Page allocation API
Conversion functions
kmalloc family allocation
vmalloc allocator
Work with I/O memory to talk with hardware
MMIO devices access
__iomem cookie
Memory (re)mapping
kmap
Mapping kernel memory to user space
Using remap_pfn_range
Using io_remap_pfn_range
The mmap file operation
Implementing mmap in the kernel
Linux caching system
CPU cache – memory caching
The Linux page cache – disk caching
Device-managed resources – Devres