git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git]
/
arch
/
ia64
/
mm
/
contig.c
diff --git
a/arch/ia64/mm/contig.c
b/arch/ia64/mm/contig.c
index
e004143
..
84fd1c1
100644
(file)
--- a/
arch/ia64/mm/contig.c
+++ b/
arch/ia64/mm/contig.c
@@
-14,6
+14,7
@@
* Routines used by ia64 machines with contiguous (or virtually contiguous)
* memory.
*/
* Routines used by ia64 machines with contiguous (or virtually contiguous)
* memory.
*/
+#include <linux/config.h>
#include <linux/bootmem.h>
#include <linux/efi.h>
#include <linux/mm.h>
#include <linux/bootmem.h>
#include <linux/efi.h>
#include <linux/mm.h>
@@
-27,7
+28,6
@@
#ifdef CONFIG_VIRTUAL_MEM_MAP
static unsigned long num_dma_physpages;
#ifdef CONFIG_VIRTUAL_MEM_MAP
static unsigned long num_dma_physpages;
-static unsigned long max_gap;
#endif
/**
#endif
/**
@@
-46,15
+46,9
@@
show_mem (void)
printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
i = max_mapnr;
printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
i = max_mapnr;
- for (i = 0; i < max_mapnr; i++) {
- if (!pfn_valid(i)) {
-#ifdef CONFIG_VIRTUAL_MEM_MAP
- if (max_gap < LARGE_GAP)
- continue;
- i = vmemmap_find_next_valid_pfn(0, i) - 1;
-#endif
+ while (i-- > 0) {
+ if (!pfn_valid(i))
continue;
continue;
- }
total++;
if (PageReserved(mem_map+i))
reserved++;
total++;
if (PageReserved(mem_map+i))
reserved++;
@@
-241,6
+235,7
@@
paging_init (void)
unsigned long zones_size[MAX_NR_ZONES];
#ifdef CONFIG_VIRTUAL_MEM_MAP
unsigned long zholes_size[MAX_NR_ZONES];
unsigned long zones_size[MAX_NR_ZONES];
#ifdef CONFIG_VIRTUAL_MEM_MAP
unsigned long zholes_size[MAX_NR_ZONES];
+ unsigned long max_gap;
#endif
/* initialize mem_map[] */
#endif
/* initialize mem_map[] */
@@
-272,6
+267,7
@@
paging_init (void)
}
}
}
}
+ max_gap = 0;
efi_memmap_walk(find_largest_hole, (u64 *)&max_gap);
if (max_gap < LARGE_GAP) {
vmem_map = (struct page *) 0;
efi_memmap_walk(find_largest_hole, (u64 *)&max_gap);
if (max_gap < LARGE_GAP) {
vmem_map = (struct page *) 0;
@@
-282,8
+278,7
@@
paging_init (void)
/* allocate virtual_mem_map */
/* allocate virtual_mem_map */
- map_size = PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) *
- sizeof(struct page));
+ map_size = PAGE_ALIGN(max_low_pfn * sizeof(struct page));
vmalloc_end -= map_size;
vmem_map = (struct page *) vmalloc_end;
efi_memmap_walk(create_mem_map_page_table, NULL);
vmalloc_end -= map_size;
vmem_map = (struct page *) vmalloc_end;
efi_memmap_walk(create_mem_map_page_table, NULL);