public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -v22 00/23] Use lmb with x86
@ 2010-07-04  6:56 Yinghai Lu
  2010-07-04  6:56 ` [PATCH 01/23] lmb: lmb_find_base() should return LMB_ERROR on failing path Yinghai Lu
                   ` (22 more replies)
  0 siblings, 23 replies; 27+ messages in thread
From: Yinghai Lu @ 2010-07-04  6:56 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Andrew Morton,
	David Miller, Benjamin Herrenschmidt
  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

-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.

-v20: put ben change together...
      add lmb_dbg() according to Ingo

-v21: debug print add # for 0x
      removed old bootmem support for x86 according to Ingo, Thomas and HPA
      change LMB_ERROR to 0 according to Linus

-v22: change x86 related lmb to lmb_x86_ instead of according to Ingo

patch 19: has to be done in one shoot to switch from early_res to lmb.

please pull from powerpc/lmb, and apply this patchset.

todo:
     replace range handling (subtracting) with lmb.

Thanks

Yinghai Lu

Ben's lmb changes in powerpc/lmb:

 arch/microblaze/include/asm/lmb.h        |    3 -
 arch/microblaze/mm/init.c                |   18 +-
 arch/powerpc/include/asm/lmb.h           |    7 -
 arch/powerpc/include/asm/mmu.h           |   12 +
 arch/powerpc/kernel/head_40x.S           |    6 +-
 arch/powerpc/kernel/paca.c               |    2 +-
 arch/powerpc/kernel/prom.c               |   15 +-
 arch/powerpc/kernel/rtas.c               |    2 +-
 arch/powerpc/kernel/setup_32.c           |    2 +-
 arch/powerpc/kernel/setup_64.c           |    2 +-
 arch/powerpc/mm/40x_mmu.c                |   17 +-
 arch/powerpc/mm/44x_mmu.c                |   14 +
 arch/powerpc/mm/fsl_booke_mmu.c          |   12 +-
 arch/powerpc/mm/hash_utils_64.c          |   35 ++-
 arch/powerpc/mm/init_32.c                |   43 +-
 arch/powerpc/mm/init_64.c                |    1 +
 arch/powerpc/mm/mem.c                    |   94 ++---
 arch/powerpc/mm/numa.c                   |   17 +-
 arch/powerpc/mm/ppc_mmu_32.c             |   18 +-
 arch/powerpc/mm/tlb_nohash.c             |   16 +
 arch/powerpc/platforms/embedded6xx/wii.c |    2 +-
 arch/sh/include/asm/lmb.h                |    2 -
 arch/sh/mm/init.c                        |   16 +-
 arch/sparc/include/asm/lmb.h             |    2 -
 arch/sparc/mm/init_64.c                  |   46 +--
 include/linux/lmb.h                      |  142 ++++--
 lib/lmb.c                                |  745 +++++++++++++++++++-----------
 27 files changed, 808 insertions(+), 483 deletions(-)

x86_lmb changes:

 arch/x86/Kconfig                |   15 +-
 arch/x86/include/asm/e820.h     |   20 +-
 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          |  192 ++++----------
 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         |   78 +++--
 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           |   66 +-----
 arch/x86/mm/init_64.c           |   67 +-----
 arch/x86/mm/k8topology_64.c     |    4 +-
 arch/x86/mm/lmb.c               |  359 ++++++++++++++++++++++++
 arch/x86/mm/memtest.c           |    7 +-
 arch/x86/mm/numa_32.c           |   28 +-
 arch/x86/mm/numa_64.c           |   84 ++-----
 arch/x86/mm/srat_32.c           |    3 +-
 arch/x86/mm/srat_64.c           |   11 +-
 arch/x86/xen/mmu.c              |    5 +-
 arch/x86/xen/setup.c            |    3 +-
 include/linux/early_res.h       |   23 --
 include/linux/lmb.h             |   20 ++
 include/linux/mm.h              |    2 +
 kernel/Makefile                 |    1 -
 kernel/early_res.c              |  584 ---------------------------------------
 lib/lmb.c                       |   68 +++--
 mm/bootmem.c                    |   11 +-
 mm/page_alloc.c                 |   72 +++--
 mm/sparse-vmemmap.c             |   11 -
 38 files changed, 702 insertions(+), 1134 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

total:
 arch/powerpc/platforms/embedded6xx/wii.c |    2 +-
 arch/sh/include/asm/lmb.h                |    2 -
 arch/sh/mm/init.c                        |   16 +-
 arch/sparc/include/asm/lmb.h             |    2 -
 arch/sparc/mm/init_64.c                  |   46 +--
 arch/x86/Kconfig                         |   15 +-
 arch/x86/include/asm/e820.h              |   20 +-
 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                   |  192 ++------
 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                  |   78 ++--
 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                    |   66 +---
 arch/x86/mm/init_64.c                    |   67 +---
 arch/x86/mm/k8topology_64.c              |    4 +-
 arch/x86/mm/lmb.c                        |  359 ++++++++++++++
 arch/x86/mm/memtest.c                    |    7 +-
 arch/x86/mm/numa_32.c                    |   28 +-
 arch/x86/mm/numa_64.c                    |   84 +---
 arch/x86/mm/srat_32.c                    |    3 +-
 arch/x86/mm/srat_64.c                    |   11 +-
 arch/x86/xen/mmu.c                       |    5 +-
 arch/x86/xen/setup.c                     |    3 +-
 include/linux/early_res.h                |   23 -
 include/linux/lmb.h                      |  162 +++++--
 include/linux/mm.h                       |    2 +
 kernel/Makefile                          |    1 -
 kernel/early_res.c                       |  584 -----------------------
 lib/lmb.c                                |  755 +++++++++++++++++++-----------
 mm/bootmem.c                             |   11 +-
 mm/page_alloc.c                          |   72 ++-
 mm/sparse-vmemmap.c                      |   11 -
 63 files changed, 1481 insertions(+), 1588 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] 27+ messages in thread

end of thread, other threads:[~2010-07-09  6:20 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-04  6:56 [PATCH -v22 00/23] Use lmb with x86 Yinghai Lu
2010-07-04  6:56 ` [PATCH 01/23] lmb: lmb_find_base() should return LMB_ERROR on failing path Yinghai Lu
2010-07-04  6:56 ` [PATCH 02/23] lmb: Prepare x86 to use lmb to replace early_res Yinghai Lu
2010-07-04  6:56 ` [PATCH 03/23] lmb: Print new doubled array location info Yinghai Lu
2010-07-08 18:55   ` Bjorn Helgaas
2010-07-08 20:07     ` Yinghai Lu
2010-07-09  6:19       ` Benjamin Herrenschmidt
2010-07-04  6:56 ` [PATCH 04/23] lmb: Export LMB_ERROR again Yinghai Lu
2010-07-04  6:56 ` [PATCH 05/23] lmb: Prepare to include linux/lmb.h in core file Yinghai Lu
2010-07-04  6:56 ` [PATCH 06/23] lmb: Add ARCH_DISCARD_LMB to put lmb code to .init Yinghai Lu
2010-07-04  6:56 ` [PATCH 07/23] lmb: Add lmb_find_in_range() Yinghai Lu
2010-07-04  6:56 ` [PATCH 08/23] x86, lmb: Add lmb_x86_find_in_range_size() Yinghai Lu
2010-07-04  6:56 ` [PATCH 09/23] bootmem, x86: Add weak version of reserve_bootmem_generic Yinghai Lu
2010-07-04  6:56 ` [PATCH 10/23] x86, lmb: Add lmb_x86_to_bootmem() Yinghai Lu
2010-07-04  6:56 ` [PATCH 11/23] x86,lmb: Add lmb_x86_reserve_range/lmb_x86_free_range Yinghai Lu
2010-07-04  6:56 ` [PATCH 12/23] x86, lmb: Add get_free_all_memory_range() Yinghai Lu
2010-07-04  6:56 ` [PATCH 13/23] x86, lmb: Add lmb_x86_register_active_regions() and lmb_x86_hole_size() Yinghai Lu
2010-07-04  6:56 ` [PATCH 14/23] lmb: Add find_memory_core_early() Yinghai Lu
2010-07-04  6:56 ` [PATCH 15/23] x86, lmb: Add lmb_x86_find_in_range_node() Yinghai Lu
2010-07-04  6:56 ` [PATCH 16/23] x86, lmb: Add lmb_x86_free_memory_in_range() Yinghai Lu
2010-07-04  6:56 ` [PATCH 17/23] x86, lmb: Add lmb_x86_memory_in_range() Yinghai Lu
2010-07-04  6:56 ` [PATCH 18/23] x86, lmb: Use lmb_debug to control debug message print out Yinghai Lu
2010-07-04  6:56 ` [PATCH 19/23] x86: Use lmb to replace early_res Yinghai Lu
2010-07-04  6:56 ` [PATCH 20/23] x86: Replace e820_/_early string with lmb_ Yinghai Lu
2010-07-04  6:56 ` [PATCH 21/23] x86: Remove not used early_res code Yinghai Lu
2010-07-04  6:56 ` [PATCH 22/23] x86, lmb: Use lmb_memory_size()/lmb_free_memory_size() to get correct dma_reserve Yinghai Lu
2010-07-04  6:56 ` [PATCH 23/23] x86: remove old bootmem code Yinghai Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox