linux/mm
Haren Myneni 66d43e98ea [PATCH] fix in __alloc_bootmem_core() when there is no free page in first node's memory
Hitting BUG_ON() in __alloc_bootmem_core() when there is no free page
available in the first node's memory.  For the case of kdump on PPC64
(Power 4 machine), the captured kernel is used two memory regions - memory
for TCE tables (tce-base and tce-size at top of RAM and reserved) and
captured kernel memory region (crashk_base and crashk_size).  Since we
reserve the memory for the first node, we should be returning from
__alloc_bootmem_core() to search for the next node (pg_dat).

Currently, find_next_zero_bit() is returning the n^th bit (eidx) when there
is no free page.  Then, test_bit() is failed since we set 0xff only for the
actual size initially (init_bootmem_core()) even though rounded up to one
page for bdata->node_bootmem_map.  We are hitting the BUG_ON after failing
to enter second "for" loop.

Signed-off-by: Haren Myneni <haren@us.ibm.com>
Cc: Andy Whitcroft <apw@shadowen.org>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-12 08:57:45 -08:00
..
bootmem.c [PATCH] fix in __alloc_bootmem_core() when there is no free page in first node's memory 2005-12-12 08:57:45 -08:00
fadvise.c
filemap_xip.c
filemap.c [PATCH] x86_64: Remove obsolete ARCH_HAS_ATOMIC_UNSIGNED and page_flags_t 2005-11-14 19:55:14 -08:00
filemap.h
fremap.c VM: add common helper function to create the page tables 2005-11-29 14:03:14 -08:00
highmem.c
hugetlb.c [PATCH] hugetlb: fix race in set_max_huge_pages for multiple updaters of nr_huge_pages 2005-11-22 09:13:43 -08:00
internal.h
Kconfig [PATCH] mm: update split ptlock Kconfig 2005-11-23 16:08:38 -08:00
madvise.c mm: re-architect the VM_UNPAGED logic 2005-11-28 14:34:23 -08:00
Makefile
memory_hotplug.c
memory.c Allow arbitrary read-only shared pfn-remapping too 2005-12-11 20:38:17 -08:00
mempolicy.c mm: re-architect the VM_UNPAGED logic 2005-11-28 14:34:23 -08:00
mempool.c
mincore.c
mlock.c
mmap.c [PATCH] unpaged: private write VM_RESERVED 2005-11-22 09:13:42 -08:00
mprotect.c [PATCH] unpaged: private write VM_RESERVED 2005-11-22 09:13:42 -08:00
mremap.c
msync.c mm: re-architect the VM_UNPAGED logic 2005-11-28 14:34:23 -08:00
nommu.c mm: re-architect the VM_UNPAGED logic 2005-11-28 14:34:23 -08:00
oom_kill.c
page_alloc.c [PATCH] Fix up per-cpu page batch sizes 2005-12-03 20:46:40 -08:00
page_io.c
page-writeback.c [PATCH] re-export clear_page_dirty_for_io() 2005-11-18 07:49:45 -08:00
pdflush.c
prio_tree.c
readahead.c
rmap.c [PATCH] Fix missing pfn variables caused by vm changes 2005-11-29 12:57:17 -08:00
shmem.c
slab.c [PATCH] slab: remove alloc_pages() calls 2005-11-13 18:14:12 -08:00
sparse.c
swap_state.c
swap.c [PATCH] unpaged: unifdefed PageCompound 2005-11-22 09:13:42 -08:00
swapfile.c
thrash.c [PATCH] temporarily disable swap token on memory pressure 2005-11-28 14:42:25 -08:00
tiny-shmem.c
truncate.c [PATCH] 32bit integer overflow in invalidate_inode_pages2() 2005-11-23 16:08:39 -08:00
vmalloc.c
vmscan.c [PATCH] shrinker->nr = LONG_MAX means deadlock for icache 2005-11-28 14:42:26 -08:00