From: "H. Peter Anvin" <hpa@zytor.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Christoph Lameter <cl@linux-foundation.org>,
Greg Kroah-Hartman <gregkh@suse.de>,
"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@elte.hu>,
Jesse Barnes <jbarnes@virtuousgeek.org>,
Johannes Weiner <hannes@saeurebad.de>, Mel Gorman <mel@csn.ul.ie>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Peter Zijlstra <peterz@infradead.org>,
Stephen Rothwell <sfr@canb.auug.org.au>,
Tejun Heo <tj@kernel.org>, Yinghai Lu <yinghai@kernel.org>
Subject: [GIT PULL] x86/bootmem: get rid of bootmem on the x86 platform
Date: Tue, 2 Mar 2010 22:32:23 GMT [thread overview]
Message-ID: <201003022232.o22MWNgl007014@hera.kernel.org> (raw)
Hi Linus,
This patchset allows the earlyres range allocator to replace bootmem.
We have already pushed slab/slub initialization earlier, so the
earlyres allocator can take up the remaining bootmem allocations.
This reduces the total number of allocators used at different phases
of the x86 boot from 4 to 3 (brk, earlyres, full allocator).
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-bootmem-for-linus
H. Peter Anvin (2):
Merge remote branch 'linus/master' into x86/bootmem
ibmphp: Rename add_range() to add_bus_range() to avoid conflict
Yinghai Lu (29):
x86: Move range related operation to one file
x86/pci: Use resource_size_t in update_res
x86/pci: AMD one chain system to use pci read out res
x86/pci: Use u64 instead of size_t in amd_bus.c
x86/pci: Add cap_resource()
x86/pci: Enable pci root res read out for 32bit too
x86: Change range end to start+size
x86: Print out RAM buffer information
x86: Call early_res_to_bootmem one time
x86: Introduce max_early_res and early_res_count
x86: Dynamically increase early_res array size
x86: Make early_node_mem get mem > 4 GB if possible
x86: Only call dma32_reserve_bootmem 64bit !CONFIG_NUMA
x86: Make 64 bit use early_res instead of bootmem before slab
sparsemem: Put usemap for one node together
sparsemem: Put mem map for one node together.
x86: Move bios page reserve early to head32/64.c
x86: Separate early_res related code from e820.c
x86: Add find_early_area_size
x86: Move back find_e820_area to e820.c
early_res: Enhance check_and_double_early_res
x86: Make 32bit support NO_BOOTMEM
Move round_up/down to kernel.h
x86: Add find_fw_memmap_area
core: Move early_res from arch/x86 to kernel/
x86: Fix non-bootmem compilation on PowerPC
early_res: Add free_early_partial()
sparsemem: Fix compilation on PowerPC
early_res: Need to save the allocation name in drop_range_partial()
arch/mips/mm/init.c | 2 +-
arch/score/mm/init.c | 2 +-
arch/x86/Kconfig | 15 +
arch/x86/include/asm/e820.h | 5 +-
arch/x86/include/asm/page_types.h | 1 -
arch/x86/include/asm/pci.h | 2 +
arch/x86/include/asm/pci_64.h | 2 -
arch/x86/include/asm/proto.h | 10 -
arch/x86/kernel/cpu/mtrr/cleanup.c | 208 ++-----------
arch/x86/kernel/e820.c | 357 +++--------------------
arch/x86/kernel/head32.c | 10 +
arch/x86/kernel/mmconf-fam10h_64.c | 7 +-
arch/x86/kernel/pci-dma.c | 13 +-
arch/x86/kernel/setup.c | 29 ++-
arch/x86/kernel/setup_percpu.c | 6 +
arch/x86/mm/init_32.c | 7 +-
arch/x86/mm/init_64.c | 9 +-
arch/x86/mm/ioremap.c | 37 ---
arch/x86/mm/numa_32.c | 3 +
arch/x86/mm/numa_64.c | 97 +++---
arch/x86/pci/Makefile | 3 +-
arch/x86/pci/amd_bus.c | 127 +++------
arch/x86/pci/bus_numa.c | 25 +-
arch/x86/pci/bus_numa.h | 9 +-
arch/x86/pci/i386.c | 4 -
drivers/pci/hotplug/ibmphp_res.c | 14 +-
include/linux/bootmem.h | 7 +
include/linux/early_res.h | 23 ++
include/linux/kernel.h | 10 +
include/linux/mm.h | 14 +
include/linux/mmzone.h | 2 +
include/linux/range.h | 30 ++
kernel/Makefile | 3 +-
kernel/early_res.c | 578 ++++++++++++++++++++++++++++++++++++
kernel/range.c | 163 ++++++++++
kernel/resource.c | 13 +
mm/Kconfig | 4 +
mm/bootmem.c | 195 ++++++++++++-
mm/page_alloc.c | 61 ++++-
mm/sparse-vmemmap.c | 76 +++++-
mm/sparse.c | 196 +++++++++++--
41 files changed, 1611 insertions(+), 768 deletions(-)
create mode 100644 include/linux/early_res.h
create mode 100644 include/linux/range.h
create mode 100644 kernel/early_res.c
create mode 100644 kernel/range.c
reply other threads:[~2010-03-02 22:33 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201003022232.o22MWNgl007014@hera.kernel.org \
--to=hpa@zytor.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux-foundation.org \
--cc=gregkh@suse.de \
--cc=hannes@saeurebad.de \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mel@csn.ul.ie \
--cc=mingo@elte.hu \
--cc=penberg@cs.helsinki.fi \
--cc=peterz@infradead.org \
--cc=sfr@canb.auug.org.au \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox