Messages in this thread | | | Date | Tue, 24 Apr 2012 08:32:36 +0200 | From | Sam Ravnborg <> | Subject | Re: Weirdness in __alloc_bootmem_node_high |
| |
On Sun, Apr 22, 2012 at 10:00:54PM -0400, David Miller wrote: > > So here is a sparc64 conversion to NO_BOOTMEM. > > Critically, I had to fix __alloc_bootmem_node to do what it promised > to do. Which is retry the allocation without the goal if doing so > with the goal fails. > > Otherwise all bootmem allocations with goal set to > __pa(MAX_DMA_ADDRESS) fail on sparc64, because we set that to ~0 so > effectively all such allocations evaluate roughly to "goal=~0, > limit=~0" which can never succeed. > > diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig > index db4e821..3763302 100644 > --- a/arch/sparc/Kconfig > +++ b/arch/sparc/Kconfig > @@ -109,6 +109,9 @@ config NEED_PER_CPU_EMBED_FIRST_CHUNK > config NEED_PER_CPU_PAGE_FIRST_CHUNK > def_bool y if SPARC64 > > +config NO_BOOTMEM > + def_bool y if SPARC64
mm/Kconfig define NO_BOOTMEM so you can just add a "select NO_BOOTMEM" to SPARC64.
Sam
| |