[PATCH 02/35] lmb: Prepare to include linux/lmb.h in core file
Need to add protection in linux/lmb.h, to prepare to include it in mm/page_alloc.c and mm/bootmem.c etc. Signed-off-by: Yinghai Lu <yinghai(a)kernel.org> --- include/linux/lmb.h | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/include/linux/lmb.h b/include/linux/lmb.h index 7987766..... 13 May 2010 21:35
[PATCH 08/35] x86,lmb: Add lmb_reserve_area/lmb_free_area
they are wrappers for core versions. they are taking start/end/name instead of base/size. could add more debug print out -v2: change get_max_mapped() to lmb.default_alloc_limit according to Michael Ellerman and Ben change to lmb_reserve_area and lmb_free_area according to Michael Ellerman -v3: ca... 13 May 2010 21:35
[PATCH 07/35] x86, lmb: Add lmb_to_bootmem()
lmb_to_bootmem() will reserve lmb.reserved.region in bootmem after bootmem is set up. We can use it to with all arches that support lmb later. Signed-off-by: Yinghai Lu <yinghai(a)kernel.org> --- arch/x86/include/asm/lmb.h | 1 + arch/x86/mm/lmb.c | 31 +++++++++++++++++++++++++++++++ 2 files ch... 13 May 2010 21:35
[PATCH 33/35] x86: Change e820_any_mapped() to __init
We don't need to expose e820_any_mapped() anymore Signed-off-by: Yinghai Lu <yinghai(a)kernel.org> --- arch/x86/kernel/e820.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index f4b1285..0e30c2e 100644 --- a/arch/x86/kernel/e820.c ... 13 May 2010 21:35
[PATCH 15/35] x86, lmb: Add lmb_reserve_area_overlap_ok()
Some areas from firmware could be reserved several times from different callers. If these area are overlapped, We may have overlapped entries in lmb.reserved. Try to free the area at first, before rerserve them again. Signed-off-by: Yinghai Lu <yinghai(a)kernel.org> --- arch/x86/include/asm/lmb.h | 1 + a... 13 May 2010 21:35
[PATCH 01/35] lmb: prepare x86 to use lmb to replace early_res
1. expose lmb_debug 2. expose lmb_reserved_init_regions 3. expose lmb_add_region 4. prection for include linux/lmb.h in mm/page_alloc.c and mm/bootmem.c 5. lmb_find_base() should return LMB_ERROR in one failing path. (this one cost me 3 hours !) 6. move LMB_ERROR to lmb.h Signed-off-by: Yinghai Lu <yinghai@... 13 May 2010 21:35
[PATCH 11/35] lmb: Add find_memory_core_early()
According to node range in early_node_map[] with __lmb_find_area to find free range. Will be used by lmb_find_area_node() lmb_find_area_node will be used to find right buffer for NODE_DATA Signed-off-by: Yinghai Lu <yinghai(a)kernel.org> --- include/linux/mm.h | 2 ++ mm/page_alloc.c | 29 ++++++++++... 13 May 2010 21:35
[PATCH 21/35] x86, lmb: Use lmb_memory_size()/lmb_free_memory_size() to get correct dma_reserve
lmb_memory_size() will return memory size in lmb.memory.region. lmb_free_memory_size() will return free memory size in lmb.memory.region. So We can get exact reseved size in specified range. Set the size right after initmem_init(), because later bootmem API will get area above 16M. (except some fallback). La... 13 May 2010 21:35
[PATCH 24/35] lmb: Move __alloc_memory_core_early() to nobootmem.c
We can remove #ifdef in mm/page_alloc.c and change that function to static Signed-off-by: Yinghai Lu <yinghai(a)kernel.org> --- include/linux/mm.h | 2 -- mm/nobootmem.c | 21 +++++++++++++++++++++ mm/page_alloc.c | 24 ------------------------ 3 files changed, 21 insertions(+), 26 deletions(-) ... 13 May 2010 21:35
[PATCH -v16 00/35] Use lmb with x86
the new lmb could be used to replace early_res in x86. Suggested by: David, Ben, and Thomas -v6: change sequence as requested by Thomas -v7: seperate them to more patches -v8: add boundary checking to make sure not free partial page. -v9: use lmb_debug to control print out of reserve_lmb. add e820 clean ... 13 May 2010 21:35