Hi,
This is a complete overhaul of the bootmem allocator while preserving
most of its original functionality.
free_bootmem and reserve_bootmem become a bit stricter than they are
right now, callsites have to make sure that the PFN range is
contiguous but it might go across node boundaries.
alloc_bootmem satisfying the allocation goal is more likely as the
routines will try to allocate on the node holding the goal first
before falling back as opposed to the original behaviour that
satisfies the goal only if it is on the first node.
All in all, I think the code has become simpler and cleaner. All
public interfaces have been documented, too.
version 4: based on -mmotm from 08-06-05
o fixed fallback logic in alloc_bootmem_core (take the fallback even
in cases where sidx is zero) to make Yasunori's machine boot again
o fixed bogus range checks in ___alloc_bootmem_nopanic
o removed bogus `fallback'-offset calculation in alloc_bootmem_core
o renamed last_offset to last_end_off
o renamed last_success to hint_idx
o start searching after the end of the previous allocation, not at
its beginning
o improved more identifier names for offsets, pfns, indices and
addresses
o adjusted debugging output to output hex numbers consistently
version 3:
o fixed kerneldoc as noted by Chris Malley
o fixed incorrect bdata->last_success treatment as noted by
Yasunori Goto
version 2:
o broken up patches into logical chunks
---
arch/alpha/mm/numa.c | 2 +-
arch/arm/plat-omap/fb.c | 4 +-
arch/avr32/mm/init.c | 3 +-
arch/ia64/mm/discontig.c | 19 +-
arch/m32r/mm/discontig.c | 3 +-
arch/m32r/mm/init.c | 4 +-
arch/mn10300/mm/init.c | 6 +-
arch/sh/mm/init.c | 2 +-
include/linux/bootmem.h | 87 +++---
mm/bootmem.c | 934 +++++++++++++++++++++++++---------------------
10 files changed, 570 insertions(+), 494 deletions(-)
--
| Hiten Pandya | Re: up? (emacs docbook xml ide) |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 005/196] Chinese: add translation of SubmittingDrivers |
| James Bottomley | Re: [Ksummit-2008-discuss] Fixing the Kernel Janitors project |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
