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