diff options
author | Honggang Li <enjoymindful@gmail.com> | 2014-06-03 13:30:45 +0800 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2014-10-13 17:15:09 +0200 |
commit | 9e6a57d2cdee36a6d9c5d5cc3db85713dd416719 (patch) | |
tree | cf8fc0074fd53202b6eb552010326ecc58aa7671 /arch/um/kernel/um_arch.c | |
parent | 671312304ec73059a0128ff3ac7a5ced459098ae (diff) | |
download | linux-9e6a57d2cdee36a6d9c5d5cc3db85713dd416719.tar.bz2 |
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>
Diffstat (limited to 'arch/um/kernel/um_arch.c')
-rw-r--r-- | arch/um/kernel/um_arch.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c index 016adf0985d5..9274eae6ae7b 100644 --- a/arch/um/kernel/um_arch.c +++ b/arch/um/kernel/um_arch.c @@ -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; |