um: delete unnecessary bootmem struct page array
1) uml kernel bootmem managed through bootmem_data->node_bootmem_map, not the struct page array, so the array is unnecessary. 2) the bootmem struct page array has been pointed by a *local* pointer, struct page *map, in init_maps function. The array can be accessed only in init_maps's scope. As a result, uml kernel wastes about 1% of total memory. Signed-off-by: Honggang Li <enjoymindful@gmail.com> Signed-off-by: Richard Weinberger <richard@nod.at>
此提交包含在:
@@ -348,12 +348,7 @@ int __init linux_main(int argc, char **argv)
|
||||
start_vm = VMALLOC_START;
|
||||
|
||||
setup_physmem(uml_physmem, uml_reserved, physmem_size, highmem);
|
||||
if (init_maps(physmem_size, iomem_size, highmem)) {
|
||||
printf("Failed to allocate mem_map for %Lu bytes of physical "
|
||||
"memory and %Lu bytes of highmem\n", physmem_size,
|
||||
highmem);
|
||||
exit(1);
|
||||
}
|
||||
mem_total_pages(physmem_size, iomem_size, highmem);
|
||||
|
||||
virtmem_size = physmem_size;
|
||||
stack = (unsigned long) argv;
|
||||
|
新增問題並參考
封鎖使用者