Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 99725
b: refs/heads/master
c: 287572c
h: refs/heads/master
i:
  99723: 0093a63
v: v3
  • Loading branch information
Yinghai Lu authored and Ingo Molnar committed Jun 3, 2008
1 parent 9964c89 commit 683e9c1
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 20 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: 2944e16b25e7fb8b5ee0dd9dc7197a0f9e523cfd
refs/heads/master: 287572cb38de7f270b59191a0fecfa5c5de7765d
27 changes: 8 additions & 19 deletions trunk/arch/x86/mm/discontig_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
#include <asm/setup.h>
#include <asm/mmzone.h>
#include <asm/bios_ebda.h>
#include <asm/proto.h>

struct pglist_data *node_data[MAX_NUMNODES] __read_mostly;
EXPORT_SYMBOL(node_data);
Expand Down Expand Up @@ -326,7 +327,6 @@ unsigned long __init setup_memory(void)
{
int nid;
unsigned long system_start_pfn, system_max_low_pfn;
unsigned long wasted_pages;

/*
* When mapping a NUMA machine we allocate the node_mem_map arrays
Expand All @@ -337,29 +337,18 @@ unsigned long __init setup_memory(void)
*/
get_memcfg_numa();

kva_pages = calculate_numa_remap_pages();
kva_pages = round_up(calculate_numa_remap_pages(), PTRS_PER_PTE);

/* partially used pages are not usable - thus round upwards */
system_start_pfn = min_low_pfn = PFN_UP(init_pg_tables_end);

kva_start_pfn = find_max_low_pfn() - kva_pages;

#ifdef CONFIG_BLK_DEV_INITRD
/* Numa kva area is below the initrd */
if (initrd_start)
kva_start_pfn = PFN_DOWN(initrd_start - PAGE_OFFSET)
- kva_pages;
#endif

/*
* We waste pages past at the end of the KVA for no good reason other
* than how it is located. This is bad.
*/
wasted_pages = kva_start_pfn & (PTRS_PER_PTE-1);
kva_start_pfn -= wasted_pages;
kva_pages += wasted_pages;

system_max_low_pfn = max_low_pfn = find_max_low_pfn();
kva_start_pfn = round_down(max_low_pfn - kva_pages, PTRS_PER_PTE);
kva_start_pfn = find_e820_area(kva_start_pfn<<PAGE_SHIFT,
max_low_pfn<<PAGE_SHIFT,
kva_pages<<PAGE_SHIFT,
PTRS_PER_PTE<<PAGE_SHIFT) >> PAGE_SHIFT;

printk("kva_start_pfn ~ %ld find_max_low_pfn() ~ %ld\n",
kva_start_pfn, max_low_pfn);
printk("max_pfn = %ld\n", max_pfn);
Expand Down

0 comments on commit 683e9c1

Please sign in to comment.