All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -v19 00/25] Use lmb with x86
@ 2010-06-22 17:26 ` Yinghai Lu
  0 siblings, 0 replies; 64+ messages in thread
From: Yinghai Lu @ 2010-06-22 17:26 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Andrew Morton,
	David Miller, Be
  Cc: Linus Torvalds, Johannes Weiner, linux-kernel, linux-arch,
	Yinghai Lu

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 up, and e820 become __initdata
-v10:use lmb.rmo_size and ARCH_DISCARD_LMB according to Michael
     change name to lmb_find_area/reserve_lmb_area/free_lmb_area,
      according to Michael
     update find_lmb_area to use __lmb_alloc_base according to ben
-v11:move find_lmb_area_size back to x86.
     x86 has own find_lmb_area, and could be disabled by ARCH_LMB_FIND_AREA
      because _lmb_find_base has different behavoir from x86's old one.
      one from high to high and one from low to high
      need more test
     tested for x86 32bit/64bit, numa/nonuma, nobootmem/bootmem.
-v12:refresh the series with current tip
     seperate nobootmem.c, so could remove some #ifdef
     still keep CONFIG_NO_BOOTMEM, in x86 .c, and could use the as tags
     so other lmb could refer them to use NO_BOOTMEM.

-v14:refresh to current tip

-v15:remove x86 version lmb_find_area
     remove other nobootmem and x86 e820 from this patchset

-v16: rebase to Ben's cleanup powerpc/lmb
     move back most func back to arch/x86/mm/lmb.c

-v17: remove exposing of lmb_add_region
     seperate first lmb core related patch to several small patches.

-v18: change lmb_find_area to lmb_find_in_range
      kill __lmb_find_area and use lmb_find_area directly
      remove lmb_add_memory
      change lmb_reserve_area to lmb_reserve_range
      change lmb_free_area to lmb_free_range
      don't clear lmb.reserved after converting
      use for_each_lmb to replace for cycle
      rebase to 06/15/2010 powerpc/lmb

-v19: make the patchset only focus on lmb related.
      will submit patches about bootmem/nobootmem seperating and other e820
	 related later after this one.

this patcheset is based on tip/master+powerpc/lmb

todo:
     replace range handling (subtracting) with lmb.

Thanks

Yinghai Lu

 arch/x86/Kconfig                |    9 +-
 arch/x86/include/asm/e820.h     |   21 +-
 arch/x86/include/asm/efi.h      |    2 +-
 arch/x86/include/asm/lmb.h      |   21 ++
 arch/x86/kernel/acpi/sleep.c    |    7 +-
 arch/x86/kernel/apic/numaq_32.c |    3 +-
 arch/x86/kernel/check.c         |   16 +-
 arch/x86/kernel/e820.c          |  197 ++++----------
 arch/x86/kernel/efi.c           |    5 +-
 arch/x86/kernel/head.c          |    3 +-
 arch/x86/kernel/head32.c        |   10 +-
 arch/x86/kernel/head64.c        |    7 +-
 arch/x86/kernel/mpparse.c       |    5 +-
 arch/x86/kernel/setup.c         |   76 ++++--
 arch/x86/kernel/setup_percpu.c  |    6 -
 arch/x86/kernel/trampoline.c    |    8 +-
 arch/x86/mm/Makefile            |    2 +
 arch/x86/mm/init.c              |    7 +-
 arch/x86/mm/init_32.c           |   31 +-
 arch/x86/mm/init_64.c           |   38 +--
 arch/x86/mm/k8topology_64.c     |    4 +-
 arch/x86/mm/lmb.c               |  398 ++++++++++++++++++++++++++
 arch/x86/mm/memtest.c           |    7 +-
 arch/x86/mm/numa_32.c           |   25 +-
 arch/x86/mm/numa_64.c           |   45 ++--
 arch/x86/mm/srat_32.c           |    3 +-
 arch/x86/mm/srat_64.c           |   13 +-
 arch/x86/xen/mmu.c              |    5 +-
 arch/x86/xen/setup.c            |    3 +-
 include/linux/early_res.h       |   23 --
 include/linux/lmb.h             |   17 ++
 include/linux/mm.h              |    2 +
 kernel/Makefile                 |    1 -
 kernel/early_res.c              |  584 ---------------------------------------
 lib/lmb.c                       |   65 +++--
 lib/swiotlb.c                   |   16 +-
 mm/bootmem.c                    |   11 +-
 mm/page_alloc.c                 |   72 +++--
 mm/sparse-vmemmap.c             |   11 -
 39 files changed, 777 insertions(+), 1002 deletions(-)
 create mode 100644 arch/x86/include/asm/lmb.h
 create mode 100644 arch/x86/mm/lmb.c
 delete mode 100644 include/linux/early_res.h
 delete mode 100644 kernel/early_res.c

^ permalink raw reply	[flat|nested] 64+ messages in thread

end of thread, other threads:[~2010-06-29 20:57 UTC | newest]

Thread overview: 64+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-22 17:26 [PATCH -v19 00/25] Use lmb with x86 Yinghai Lu
2010-06-22 17:26 ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 01/25] lmb: lmb_find_base() should return LMB_ERROR on failing path Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 02/25] lmb: Prepare x86 to use lmb to replace early_res Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 03/25] lmb: Print new doubled array location info Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-29 17:44   ` Bjorn Helgaas
2010-06-29 18:38     ` H. Peter Anvin
2010-06-29 18:48       ` Bjorn Helgaas
2010-06-29 20:03     ` Yinghai Lu
2010-06-29 20:58       ` Bjorn Helgaas
2010-06-22 17:26 ` [PATCH 04/25] lmb: Export LMB_ERROR again Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 05/25] lmb: Prepare to include linux/lmb.h in core file Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 18:45   ` Sam Ravnborg
2010-06-22 17:26 ` [PATCH 06/25] lmb: Add ARCH_DISCARD_LMB to put lmb code to .init Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 07/25] lmb: Add lmb_find_in_range() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 08/25] x86, lmb: Add lmb_find_in_range_size() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 09/25] bootmem, x86: Add weak version of reserve_bootmem_generic Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 10/25] x86, lmb: Add lmb_to_bootmem() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-29 17:47   ` Bjorn Helgaas
2010-06-22 17:26 ` [PATCH 11/25] x86,lmb: Add lmb_reserve_range/lmb_free_range Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-29 17:52   ` Bjorn Helgaas
2010-06-22 17:26 ` [PATCH 12/25] x86, lmb: Add get_free_all_memory_range() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-29 17:56   ` Bjorn Helgaas
2010-06-22 17:26 ` [PATCH 13/25] x86, lmb: Add lmb_register_active_regions() and lmb_hole_size() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 14/25] lmb: Add find_memory_core_early() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 15/25] x86, lmb: Add lmb_find_in_range_node() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 16/25] x86, lmb: Add lmb_free_memory_in_range() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 17/25] x86, lmb: Add lmb_memory_in_range() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 18/25] x86, lmb: Use lmb_debug to control debug message print out Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-29 17:58   ` Bjorn Helgaas
2010-06-22 17:26 ` [PATCH 19/25] x86: Use lmb to replace early_res Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 20/25] x86: Replace e820_/_early string with lmb_ Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 21/25] x86: Remove not used early_res code Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 22/25] x86, lmb: Use lmb_memory_size()/lmb_free_memory_size() to get correct dma_reserve Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 23/25] x86: Have nobootmem version setup_bootmem_allocator() Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-29 18:02   ` Bjorn Helgaas
2010-06-22 17:26 ` [PATCH 24/25] x86: Put 64 bit numa node memmap above 16M Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-22 17:26 ` [PATCH 25/25] swiotlb: Use page alignment for early buffer allocation Yinghai Lu
2010-06-22 17:26   ` Yinghai Lu
2010-06-29 18:06 ` [PATCH -v19 00/25] Use lmb with x86 Bjorn Helgaas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.