Re: Query about merging memblock and bootmem into one new alloc

2015-12-22 Thread Sam Ravnborg
On Mon, Dec 21, 2015 at 11:01:01PM +0100, Arnd Bergmann wrote:
> On Monday 21 December 2015, Laura Abbott wrote:
> > ARM no longer uses bootmem, just memblock (see 
> > 84f452b1e8fc73ac0e31254c66e3e2260ce5263d
> > ARM: mm: Remove bootmem code and switch to NO_BOOTMEM). Any bootmem calls
> > just go to mm/nobootmem.c which is a wrapper around memblock for 
> > compatibility.
> 
> It seems the same is true on arc, arm64, powerpc, s390, sparc, tile and x86,
> and we'd ideally move all others the same way.

Small detail - sparc64 uses memblock, whereas sparc32 uses bootmem.

I know because I once tried to move sparc32 to use memblock, but
ran out of time.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Query about merging memblock and bootmem into one new alloc

2015-12-22 Thread Sam Ravnborg
On Mon, Dec 21, 2015 at 11:01:01PM +0100, Arnd Bergmann wrote:
> On Monday 21 December 2015, Laura Abbott wrote:
> > ARM no longer uses bootmem, just memblock (see 
> > 84f452b1e8fc73ac0e31254c66e3e2260ce5263d
> > ARM: mm: Remove bootmem code and switch to NO_BOOTMEM). Any bootmem calls
> > just go to mm/nobootmem.c which is a wrapper around memblock for 
> > compatibility.
> 
> It seems the same is true on arc, arm64, powerpc, s390, sparc, tile and x86,
> and we'd ideally move all others the same way.

Small detail - sparc64 uses memblock, whereas sparc32 uses bootmem.

I know because I once tried to move sparc32 to use memblock, but
ran out of time.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Query about merging memblock and bootmem into one new alloc

2015-12-21 Thread Arnd Bergmann
On Monday 21 December 2015, Laura Abbott wrote:
> ARM no longer uses bootmem, just memblock (see 
> 84f452b1e8fc73ac0e31254c66e3e2260ce5263d
> ARM: mm: Remove bootmem code and switch to NO_BOOTMEM). Any bootmem calls
> just go to mm/nobootmem.c which is a wrapper around memblock for 
> compatibility.

It seems the same is true on arc, arm64, powerpc, s390, sparc, tile and x86,
and we'd ideally move all others the same way.

Almost all uses of the bootmem interfaces are in architectures specific code
these days, the only exceptions I could find at all are alloc_bootmem_pages
in drivers/xen/swiotlb-xen.c, and alloc_bootmem in drivers/macintosh/smu.c
and init/main.c.

I don't know how the effort to remove bootmem is progressing, but I guess
we could avoid adding new users if we move the existing implementation into
the architectures that still use it, remove the interfaces not used by
those architectures and rename the other ones to have a prefix identifying
the architecture.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Query about merging memblock and bootmem into one new alloc

2015-12-21 Thread Laura Abbott

On 12/19/2015 05:57 AM, Sumit Gupta wrote:

Hi All,

For ARM Linux, during booting first memblock reserves memory regions
then bootmem allocator create node, mem_map, page bitmap data and then
hands over to buddy.
I have been thinking from some time about why we need two different
allocators for this.
Can we merge both into one(memblock into bootmem) or create a new
allocator which can speed up the same thing which is easy to enhance
in future.
I am not sure about this and whether it's good idea or will it be fruitful.

Please suggest and share your opinion.

Thank you in advance for your help.



ARM no longer uses bootmem, just memblock (see 
84f452b1e8fc73ac0e31254c66e3e2260ce5263d
ARM: mm: Remove bootmem code and switch to NO_BOOTMEM). Any bootmem calls
just go to mm/nobootmem.c which is a wrapper around memblock for compatibility.

Thanks,
Laura


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Query about merging memblock and bootmem into one new alloc

2015-12-21 Thread Arnd Bergmann
On Monday 21 December 2015, Laura Abbott wrote:
> ARM no longer uses bootmem, just memblock (see 
> 84f452b1e8fc73ac0e31254c66e3e2260ce5263d
> ARM: mm: Remove bootmem code and switch to NO_BOOTMEM). Any bootmem calls
> just go to mm/nobootmem.c which is a wrapper around memblock for 
> compatibility.

It seems the same is true on arc, arm64, powerpc, s390, sparc, tile and x86,
and we'd ideally move all others the same way.

Almost all uses of the bootmem interfaces are in architectures specific code
these days, the only exceptions I could find at all are alloc_bootmem_pages
in drivers/xen/swiotlb-xen.c, and alloc_bootmem in drivers/macintosh/smu.c
and init/main.c.

I don't know how the effort to remove bootmem is progressing, but I guess
we could avoid adding new users if we move the existing implementation into
the architectures that still use it, remove the interfaces not used by
those architectures and rename the other ones to have a prefix identifying
the architecture.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Query about merging memblock and bootmem into one new alloc

2015-12-21 Thread Laura Abbott

On 12/19/2015 05:57 AM, Sumit Gupta wrote:

Hi All,

For ARM Linux, during booting first memblock reserves memory regions
then bootmem allocator create node, mem_map, page bitmap data and then
hands over to buddy.
I have been thinking from some time about why we need two different
allocators for this.
Can we merge both into one(memblock into bootmem) or create a new
allocator which can speed up the same thing which is easy to enhance
in future.
I am not sure about this and whether it's good idea or will it be fruitful.

Please suggest and share your opinion.

Thank you in advance for your help.



ARM no longer uses bootmem, just memblock (see 
84f452b1e8fc73ac0e31254c66e3e2260ce5263d
ARM: mm: Remove bootmem code and switch to NO_BOOTMEM). Any bootmem calls
just go to mm/nobootmem.c which is a wrapper around memblock for compatibility.

Thanks,
Laura


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/