diff options
| author | Yasunori Goto <[email protected]> | 2008-04-28 09:13:32 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2008-04-28 15:58:25 +0000 |
| commit | 9d99217a02a06a7cc83f065b73e976970970c58c (patch) | |
| tree | 14d270c37701f9ae621c9cd8b076e207ee86e5d0 /mm/sparse.c | |
| parent | memory hotplug: register section/node id to free (diff) | |
| download | kernel-9d99217a02a06a7cc83f065b73e976970970c58c.tar.gz kernel-9d99217a02a06a7cc83f065b73e976970970c58c.zip | |
memory hotplug: align memmap to page size
To free memmap easier, this patch aligns it to page size. Bootmem allocater
may mix some objects in one pages. It's not good for freeing memmap of memory
hot-remove.
Signed-off-by: Yasunori Goto <[email protected]>
Cc: Badari Pulavarty <[email protected]>
Cc: Yinghai Lu <[email protected]>
Cc: Yasunori Goto <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'mm/sparse.c')
| -rw-r--r-- | mm/sparse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/sparse.c b/mm/sparse.c index 8903c484389a..5398d48c360a 100644 --- a/mm/sparse.c +++ b/mm/sparse.c @@ -273,8 +273,8 @@ struct page __init *sparse_mem_map_populate(unsigned long pnum, int nid) if (map) return map; - map = alloc_bootmem_node(NODE_DATA(nid), - sizeof(struct page) * PAGES_PER_SECTION); + map = alloc_bootmem_pages_node(NODE_DATA(nid), + PAGE_ALIGN(sizeof(struct page) * PAGES_PER_SECTION)); return map; } #endif /* !CONFIG_SPARSEMEM_VMEMMAP */ |
