Linux Kernel Architecture
Chapter3:MemoryManagement Section 3.5.5 discusses the implementation of the buddy system that makes use of the fallback lists ge ...
Chapter3:MemoryManagement optionPHYSICAL_STARTdetermines the position in RAM in this case, subjected to physical alignment speci ...
Chapter3:MemoryManagement into smaller subintervals to control what can be removed and what cannot, but this is not of importanc ...
Chapter3:MemoryManagement The same information is also available for AMD64 systems. Here the kernel starts 2 MiB after the first ...
Chapter3:MemoryManagement The figure includes only those function calls associated with memory management. All others are unimpo ...
Chapter3:MemoryManagement The next major step is performed insetup_memoryof which there are two versions; one for systems with c ...
Chapter3:MemoryManagement setup_arch setup_memory_region parse_early_param e820_register_active_region add_active_range init_mem ...
Chapter3:MemoryManagement 1 Page tables Page tables Physical memory Task switch 3 Kernel User Kernel User Figure 3-14: Connectio ...
Chapter3:MemoryManagement the kernel must reserve the last 128 MiB of its address space for other purposes which I explain short ...
Chapter3:MemoryManagement Two pre-processor symbols are important in this context:__VMALLOC_RESERVEsets the size of thevmalloc a ...
Chapter3:MemoryManagement The start address of the vmalloc area depends on how much virtual address space memory is used for the ...
Chapter3:MemoryManagement include/asm-x86/fixmap_32.h #define __FIXADDR_TOP 0xfffff000 #define FIXADDR_TOP ((unsigned long)__FIX ...
Chapter3:MemoryManagement When a valid fixmap address is referenced, the comparison in theifquery yields a positive value. Since ...
Chapter3:MemoryManagement Table 3-6: Different Splitting Ratios for the IA-32 Virtual Address Space, and the Resulting Maximum I ...
Chapter3:MemoryManagement variables specify the flags set for the kernel itself when pages are allocated; these settings are the ...
Chapter3:MemoryManagement Once the batch size (which is the basis for calculating the minimum and maximum fill level) has been d ...
Chapter3:MemoryManagement pcp = &p->pcp[1]; /* cold*/ pcp->count = 0; pcp->high = 2 * batch; pcp->batch = max(1U ...
Chapter3:MemoryManagement Registering Active Memory Regions I noted above that initialization of the zone structures is an exten ...
Chapter3:MemoryManagement Registering Regions on IA-32 Besides callingadd_active_range, the functionzone_sizes_initstores the bo ...
Chapter3:MemoryManagement for (i = 0; i < e820.nr_map; i++) if (e820_find_active_region(&e820.map[i], start_pfn, end_pfn, ...
«
6
7
8
9
10
11
12
13
14
15
»
Free download pdf