Messages in this thread | | | Date | Fri, 20 Apr 2012 21:43:09 +0200 | From | Sam Ravnborg <> | Subject | Re: Weirdness in __alloc_bootmem_node_high |
| |
On Fri, Apr 20, 2012 at 12:30:54PM -0700, Yinghai Lu wrote: > On Fri, Apr 20, 2012 at 12:14 PM, Sam Ravnborg <sam@ravnborg.org> wrote: > > > > I took a quick look at this. > > __alloc_bootmem_node_high() is used in mm/sparse.c - but only > > if SPARSEMEM_VMEMMAP is enabled. > > > > mips has this: > > > > config ARCH_SPARSEMEM_ENABLE > > bool > > select SPARSEMEM_STATIC > > > > So SPARSEMEM_VMEMMAP is not enabled. > > > > __alloc_bootmem_node_high() is used in mm/sparse-vmemmap.c which > > also depends on CONFIG_SPARSEMEM_VMEMMAP. > > > > > > So I really do not see the logic in __alloc_bootmem_node_high() > > being used anymore and it can be replaced by __alloc_bootmem_node() > > Yes, you are right. __alloc_bootmem_node_high could be removed. > > BTW, x86 is still the only one that use NO_BOOTMEM. > > Are you working on making sparc to use NO_BOOTMEM?
For now I am trying to convert sparc32 to use memblock and NO_BOOTMEM in one step.
I have it almost finished - except that it does not work :-( We have limitations in what area we can allocate very early, and here I had to use the alloc_bootmem_low() variant. I had preferred a variant that allowed me to allocate bottom-up in this case.
For now I assume something is fishy in my code where I hand over memory to the buddyallocator. But before posting anything I need time to go through my code and divide it up in smaller patches.
There is so far no changes to nobootmem / memblock code.
I will most likely convert sparc64 to NO_BOOTMEM next, if it looks reasonable simple that is. But first step is to get sparc32 working.
Sam -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |