* [6/9] NUMA-Q: mem_map placement
@ 2002-11-12 2:20 William Lee Irwin III
0 siblings, 0 replies; only message in thread
From: William Lee Irwin III @ 2002-11-12 2:20 UTC (permalink / raw)
To: linux-kernel
This moves the allocation of the local memory maps (accomplished by passing
the virtual address of the virtual remapped arena) so that there is a gap
of size (sizeof(pg_data_t) + PAGE_SIZE - 1) & PAGE_MASK between
node_remap_start_vaddr[nid] and NODE_DATA(nid)->node_mem_map.
discontig.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff -urpN 04_larger_remap/arch/i386/mm/discontig.c 05_memmap_after/arch/i386/mm/discontig.c
--- 04_larger_remap/arch/i386/mm/discontig.c 2002-11-11 16:33:57.000000000 -0800
+++ 05_memmap_after/arch/i386/mm/discontig.c 2002-11-11 16:37:14.000000000 -0800
@@ -318,13 +318,18 @@ void __init zone_sizes_init(void)
* normal bootmem allocator, but other nodes come from the
* remapped KVA area - mbligh
*/
- if (nid)
- free_area_init_node(nid, NODE_DATA(nid),
- node_remap_start_vaddr[nid], zones_size,
- start, 0);
- else
+ if (!nid)
free_area_init_node(nid, NODE_DATA(nid), 0,
zones_size, start, 0);
+ else {
+ unsigned long lmem_map;
+ lmem_map = (unsigned long)node_remap_start_vaddr[nid];
+ lmem_map += sizeof(pg_data_t) + PAGE_SIZE - 1;
+ lmem_map &= PAGE_MASK;
+ free_area_init_node(nid, NODE_DATA(nid),
+ (struct page *)lmem_map, zones_size,
+ start, 0);
+ }
}
return;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-11-12 2:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-11-12 2:20 [6/9] NUMA-Q: mem_map placement William Lee Irwin III
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®