Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 245695
b: refs/heads/master
c: ebe685f
h: refs/heads/master
i:
  245693: d7c234c
  245691: db6b47c
  245687: 34c9b6f
  245679: 9cd257e
  245663: 7058de5
  245631: cc41f4e
v: v3
  • Loading branch information
Tejun Heo committed May 2, 2011
1 parent b984e1a commit 118f4d6
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 30 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9688678a6670c7f0ae3872450a8047c0ad401efb
refs/heads/master: ebe685f24eeb85fbdb0f33792f1dabdbf35eff38
52 changes: 23 additions & 29 deletions trunk/arch/x86/mm/numa_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -128,14 +128,11 @@ int __init numa_add_memblk(int nid, u64 start, u64 end)

/* Initialize bootmem allocator for a node */
void __init
setup_node_bootmem(int nodeid, unsigned long start, unsigned long end)
setup_node_bootmem(int nid, unsigned long start, unsigned long end)
{
unsigned long start_pfn, last_pfn, nodedata_phys;
const int pgdat_size = roundup(sizeof(pg_data_t), PAGE_SIZE);
int nid;

if (!end)
return;
const size_t nd_size = roundup(sizeof(pg_data_t), PAGE_SIZE);
unsigned long nd_pa;
int tnid;

/*
* Don't confuse VM with a node that doesn't have the
Expand All @@ -146,30 +143,27 @@ setup_node_bootmem(int nodeid, unsigned long start, unsigned long end)

start = roundup(start, ZONE_ALIGN);

printk(KERN_INFO "Initmem setup node %d %016lx-%016lx\n", nodeid,
start, end);

start_pfn = start >> PAGE_SHIFT;
last_pfn = end >> PAGE_SHIFT;
printk(KERN_INFO "Initmem setup node %d %016lx-%016lx\n",
nid, start, end);

node_data[nodeid] = early_node_mem(nodeid, start, end, pgdat_size,
SMP_CACHE_BYTES);
if (node_data[nodeid] == NULL)
node_data[nid] = early_node_mem(nid, start, end, nd_size,
SMP_CACHE_BYTES);
if (node_data[nid] == NULL)
return;
nodedata_phys = __pa(node_data[nodeid]);
memblock_x86_reserve_range(nodedata_phys, nodedata_phys + pgdat_size, "NODE_DATA");
printk(KERN_INFO " NODE_DATA [%016lx - %016lx]\n", nodedata_phys,
nodedata_phys + pgdat_size - 1);
nid = early_pfn_to_nid(nodedata_phys >> PAGE_SHIFT);
if (nid != nodeid)
printk(KERN_INFO " NODE_DATA(%d) on node %d\n", nodeid, nid);

memset(NODE_DATA(nodeid), 0, sizeof(pg_data_t));
NODE_DATA(nodeid)->node_id = nodeid;
NODE_DATA(nodeid)->node_start_pfn = start_pfn;
NODE_DATA(nodeid)->node_spanned_pages = last_pfn - start_pfn;

node_set_online(nodeid);
nd_pa = __pa(node_data[nid]);
memblock_x86_reserve_range(nd_pa, nd_pa + nd_size, "NODE_DATA");
printk(KERN_INFO " NODE_DATA [%016lx - %016lx]\n",
nd_pa, nd_pa + nd_size - 1);
tnid = early_pfn_to_nid(nd_pa >> PAGE_SHIFT);
if (tnid != nid)
printk(KERN_INFO " NODE_DATA(%d) on node %d\n", nid, tnid);

memset(NODE_DATA(nid), 0, sizeof(pg_data_t));
NODE_DATA(nid)->node_id = nid;
NODE_DATA(nid)->node_start_pfn = start >> PAGE_SHIFT;
NODE_DATA(nid)->node_spanned_pages = (end - start) >> PAGE_SHIFT;

node_set_online(nid);
}

/**
Expand Down

0 comments on commit 118f4d6

Please sign in to comment.