Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1295379 > unrolled thread

Query about merging memblock and bootmem into one new alloc

Started bySumit Gupta <sumit.g.007@gmail.com>
First post2015-12-19 15:00 +0100
Last post2015-12-22 10:50 +0100
Articles 4 — 4 participants

Back to article view | Back to linux.kernel


Contents

  Query about merging memblock and bootmem into one new alloc Sumit Gupta <sumit.g.007@gmail.com> - 2015-12-19 15:00 +0100
    Re: Query about merging memblock and bootmem into one new alloc Laura Abbott <labbott@redhat.com> - 2015-12-21 18:30 +0100
      Re: Query about merging memblock and bootmem into one new alloc Arnd Bergmann <arnd@arndb.de> - 2015-12-21 23:10 +0100
        Re: Query about merging memblock and bootmem into one new alloc Sam Ravnborg <sam@ravnborg.org> - 2015-12-22 10:50 +0100

#1295379 — Query about merging memblock and bootmem into one new alloc

FromSumit Gupta <sumit.g.007@gmail.com>
Date2015-12-19 15:00 +0100
SubjectQuery about merging memblock and bootmem into one new alloc
Message-ID<qHqdc-3TB-9@gated-at.bofh.it>
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.

Regards,
Sumit Gupta
--
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/

[toc] | [next] | [standalone]


#1296095

FromLaura Abbott <labbott@redhat.com>
Date2015-12-21 18:30 +0100
Message-ID<qIcrx-Yd-27@gated-at.bofh.it>
In reply to#1295379
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 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/

[toc] | [prev] | [next] | [standalone]


#1296248

FromArnd Bergmann <arnd@arndb.de>
Date2015-12-21 23:10 +0100
Message-ID<qIgOt-3Ob-19@gated-at.bofh.it>
In reply to#1296095
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 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/

[toc] | [prev] | [next] | [standalone]


#1296659

FromSam Ravnborg <sam@ravnborg.org>
Date2015-12-22 10:50 +0100
Message-ID<qIrJU-2dB-9@gated-at.bofh.it>
In reply to#1296248
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 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/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web