summaryrefslogtreecommitdiffstats
path: root/mm/util.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-07-12 11:15:55 +0200
committerH. Peter Anvin <hpa@linux.intel.com>2011-07-14 11:47:41 -0700
commit784656f9c680d334e7b4cdb6951c5c913e5a26bf (patch)
treee70487038744f31ebab8ff16e14991f4a6b74222 /mm/util.c
parented7b56a799cade11f458cd83e1150af54a66b7e8 (diff)
downloadlinux-784656f9c680d334e7b4cdb6951c5c913e5a26bf.tar.bz2
memblock: Reimplement memblock_add_region()
memblock_add_region() carefully checked for merge and overlap conditions while adding a new region, which is complicated and makes it difficult to allow arbitrary overlaps or add more merge conditions (e.g. node ID). This re-implements memblock_add_region() such that insertion is done in two steps - all non-overlapping portions of new area are inserted as separate regions first and then memblock_merge_regions() scan and merge all neighbouring compatible regions. This makes addition logic simpler and more versatile and enables adding node information to memblock. Signed-off-by: Tejun Heo <tj@kernel.org> Link: http://lkml.kernel.org/r/1310462166-31469-3-git-send-email-tj@kernel.org Cc: Yinghai Lu <yinghai@kernel.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'mm/util.c')
0 files changed, 0 insertions, 0 deletions