summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/xen
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-03-01 16:06:56 +0900
committerTejun Heo <tj@kernel.org>2009-03-01 16:06:56 +0900
commitd0c4f570276cb4d2dc4215b90eb7cb6e2bdd4a15 (patch)
tree5cf4f85082ed720df7d815299782e25e44d75c9d /arch/x86/include/asm/xen
parentaf6326d72c95d6e0bbc88c92185c654f57acef3b (diff)
downloadblackbird-op-linux-d0c4f570276cb4d2dc4215b90eb7cb6e2bdd4a15.tar.gz
blackbird-op-linux-d0c4f570276cb4d2dc4215b90eb7cb6e2bdd4a15.zip
bootmem, x86: further fixes for arch-specific bootmem wrapping
Impact: fix new breakages introduced by previous fix Commit c132937556f56ee4b831ef4b23f1846e05fde102 tried to clean up bootmem arch wrapper but it wasn't quite correct. Before the commit, the followings were broken. * Low level interface functions prefixed with __ ignored arch preference. * reserve_bootmem(...) can't be mapped into reserve_bootmem_node(NODE_DATA(0)->bdata, ...) because the node is not preference here. The region specified MUST fall into the specified region; otherwise, it will panic. After the commit, * If allocation fails for the arch preferred node, it should fallback to whatever is available. Instead, it simply failed allocation. There are too many internal details to allow generic wrapping and still keep things simple for archs. Plus, all that arch wants is a way to prefer certain node over another. This patch drops the generic wrapping around alloc_bootmem_core() and add alloc_bootmem_core() instead. If necessary, arch can define bootmem_arch_referred_node() macro or function which takes all allocation information and returns the preferred node. bootmem generic code will always try the preferred node first and then fallback to other nodes as usual. Breakages noted and changes reviewed by Johannes Weiner. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Diffstat (limited to 'arch/x86/include/asm/xen')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud