linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@linux.vnet.ibm.com>
To: linux-mm@kvack.org
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Chris Zankel <chris@zankel.net>,
	"David S. Miller" <davem@davemloft.net>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greentime Hu <green.hu@gmail.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Guan Xuetao <gxt@pku.edu.cn>, Ingo Molnar <mingo@redhat.com>,
	"James E.J. Bottomley" <jejb@parisc-linux.org>,
	Jonas Bonn <jonas@southpole.se>, Jonathan Corbet <corbet@lwn.net>,
	Ley Foon Tan <lftan@altera.com>, Mark Salter <msalter@redhat.com>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>, Michal Simek <monstr@monstr.eu>,
	Palmer Dabbelt <palmer@sifive.com>,
	Paul Burton <paul.burton@mips.com>,
	Richard Kuo <rkuo@codeaurora.org>,
	Richard Weinberger <richard@nod.at>,
	Rich Felker <dalias@libc.org>,
	Russell King <linux@armlinux.org.uk>,
	Serge Semin <fancer.lancer@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tony Luck <tony.luck@intel.com>,
	Vineet Gupta <vgupta@synopsys.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-c6x-dev@linux-c6x.org, linux-hexagon@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org, linux-mips@linux-mips.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, linux-snps-arc@lists.infradead.org,
	linux-um@lists.infradead.org, nios2-dev@lists.rocketboards.org,
	openrisc@lists.librecores.org, sparclinux@vger.kernel.org,
	uclinux-h8-devel@lists.sourceforge.jp,
	Mike Rapoport <rppt@linux.vnet.ibm.com>
Subject: [PATCH 30/30] docs/boot-time-mm: remove bootmem documentation
Date: Fri, 14 Sep 2018 15:10:45 +0300	[thread overview]
Message-ID: <1536927045-23536-31-git-send-email-rppt@linux.vnet.ibm.com> (raw)
In-Reply-To: <1536927045-23536-1-git-send-email-rppt@linux.vnet.ibm.com>

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
---
 Documentation/core-api/boot-time-mm.rst | 71 +++++----------------------------
 1 file changed, 10 insertions(+), 61 deletions(-)

diff --git a/Documentation/core-api/boot-time-mm.rst b/Documentation/core-api/boot-time-mm.rst
index 03cb164..e5ec9f1 100644
--- a/Documentation/core-api/boot-time-mm.rst
+++ b/Documentation/core-api/boot-time-mm.rst
@@ -5,54 +5,23 @@ Boot time memory management
 Early system initialization cannot use "normal" memory management
 simply because it is not set up yet. But there is still need to
 allocate memory for various data structures, for instance for the
-physical page allocator. To address this, a specialized allocator
-called the :ref:`Boot Memory Allocator <bootmem>`, or bootmem, was
-introduced. Several years later PowerPC developers added a "Logical
-Memory Blocks" allocator, which was later adopted by other
-architectures and renamed to :ref:`memblock <memblock>`. There is also
-a compatibility layer called `nobootmem` that translates bootmem
-allocation interfaces to memblock calls.
+physical page allocator.
 
-The selection of the early allocator is done using
-``CONFIG_NO_BOOTMEM`` and ``CONFIG_HAVE_MEMBLOCK`` kernel
-configuration options. These options are enabled or disabled
-statically by the architectures' Kconfig files.
-
-* Architectures that rely only on bootmem select
-  ``CONFIG_NO_BOOTMEM=n && CONFIG_HAVE_MEMBLOCK=n``.
-* The users of memblock with the nobootmem compatibility layer set
-  ``CONFIG_NO_BOOTMEM=y && CONFIG_HAVE_MEMBLOCK=y``.
-* And for those that use both memblock and bootmem the configuration
-  includes ``CONFIG_NO_BOOTMEM=n && CONFIG_HAVE_MEMBLOCK=y``.
-
-Whichever allocator is used, it is the responsibility of the
-architecture specific initialization to set it up in
-:c:func:`setup_arch` and tear it down in :c:func:`mem_init` functions.
+A specialized allocator called ``memblock`` performs the
+boot time memory management. The architecture specific initialization
+must set it up in :c:func:`setup_arch` and tear it down in
+:c:func:`mem_init` functions.
 
 Once the early memory management is available it offers a variety of
 functions and macros for memory allocations. The allocation request
 may be directed to the first (and probably the only) node or to a
 particular node in a NUMA system. There are API variants that panic
-when an allocation fails and those that don't. And more recent and
-advanced memblock even allows controlling its own behaviour.
-
-.. _bootmem:
-
-Bootmem
-=======
-
-(mostly stolen from Mel Gorman's "Understanding the Linux Virtual
-Memory Manager" `book`_)
-
-.. _book: https://www.kernel.org/doc/gorman/
-
-.. kernel-doc:: mm/bootmem.c
-   :doc: bootmem overview
+when an allocation fails and those that don't.
 
-.. _memblock:
+Memblock also offers a variety of APIs that control its own behaviour.
 
-Memblock
-========
+Memblock Overview
+=================
 
 .. kernel-doc:: mm/memblock.c
    :doc: memblock overview
@@ -61,26 +30,6 @@ Memblock
 Functions and structures
 ========================
 
-Common API
-----------
-
-The functions that are described in this section are available
-regardless of what early memory manager is enabled.
-
-.. kernel-doc:: mm/nobootmem.c
-
-Bootmem specific API
---------------------
-
-These interfaces available only with bootmem, i.e when ``CONFIG_NO_BOOTMEM=n``
-
-.. kernel-doc:: include/linux/bootmem.h
-.. kernel-doc:: mm/bootmem.c
-   :nodocs:
-
-Memblock specific API
----------------------
-
 Here is the description of memblock data structures, functions and
 macros. Some of them are actually internal, but since they are
 documented it would be silly to omit them. Besides, reading the
@@ -89,4 +38,4 @@ really happens under the hood.
 
 .. kernel-doc:: include/linux/memblock.h
 .. kernel-doc:: mm/memblock.c
-   :nodocs:
+   :functions:
-- 
2.7.4

  parent reply	other threads:[~2018-09-14 12:14 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-14 12:10 [PATCH 00/30] mm: remove bootmem allocator Mike Rapoport
2018-09-14 12:10 ` [PATCH 01/30] mips: switch to NO_BOOTMEM Mike Rapoport
2018-09-14 12:10 ` [PATCH 02/30] mm: remove CONFIG_NO_BOOTMEM Mike Rapoport
2018-09-26  9:22   ` Michal Hocko
2018-09-26 11:48     ` Mike Rapoport
2018-09-14 12:10 ` [PATCH 03/30] mm: remove CONFIG_HAVE_MEMBLOCK Mike Rapoport
2018-09-26  9:24   ` Michal Hocko
2018-09-26 11:54     ` Mike Rapoport
2018-09-26 16:58   ` Alexander Duyck
2018-09-26 18:31     ` Mike Rapoport
2018-09-27  0:34       ` Alexander Duyck
2018-09-27  4:50         ` Mike Rapoport
2018-09-14 12:10 ` [PATCH 04/30] mm: remove bootmem allocator implementation Mike Rapoport
2018-09-14 12:10 ` [PATCH 05/30] mm: nobootmem: remove dead code Mike Rapoport
2018-09-26  9:25   ` Michal Hocko
2018-09-14 12:10 ` [PATCH 06/30] memblock: rename memblock_alloc{_nid, _try_nid} to memblock_phys_alloc* Mike Rapoport
2018-09-14 12:10 ` [PATCH 07/30] memblock: remove _virt from APIs returning virtual address Mike Rapoport
2018-09-26  9:27   ` Michal Hocko
2018-09-14 12:10 ` [PATCH 08/30] memblock: replace alloc_bootmem_align with memblock_alloc Mike Rapoport
2018-09-14 12:10 ` [PATCH 09/30] memblock: replace alloc_bootmem_low with memblock_alloc_low Mike Rapoport
2018-09-14 12:10 ` [PATCH 10/30] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nopanic Mike Rapoport
2018-09-14 12:10 ` [PATCH 11/30] memblock: replace alloc_bootmem_pages_nopanic with memblock_alloc_nopanic Mike Rapoport
2018-09-14 12:10 ` [PATCH 12/30] memblock: replace alloc_bootmem_low with memblock_alloc_low Mike Rapoport
2018-09-14 12:10 ` [PATCH 13/30] memblock: replace __alloc_bootmem_nopanic with memblock_alloc_from_nopanic Mike Rapoport
2018-09-14 12:10 ` [PATCH 14/30] memblock: add align parameter to memblock_alloc_node() Mike Rapoport
2018-09-26  9:31   ` Michal Hocko
2018-09-26  9:36     ` Michal Hocko
2018-09-26 13:43       ` Mike Rapoport
2018-09-26 14:23         ` Michal Hocko
2018-09-14 12:10 ` [PATCH 15/30] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node Mike Rapoport
2018-09-14 12:10 ` [PATCH 16/30] memblock: replace __alloc_bootmem_node with appropriate memblock_ API Mike Rapoport
2018-09-26  9:37   ` Michal Hocko
2018-09-14 12:10 ` [PATCH 17/30] memblock: replace alloc_bootmem_node with memblock_alloc_node Mike Rapoport
2018-09-14 12:10 ` [PATCH 18/30] memblock: replace alloc_bootmem_low_pages with memblock_alloc_low Mike Rapoport
2018-09-14 12:10 ` [PATCH 19/30] memblock: replace alloc_bootmem_pages with memblock_alloc Mike Rapoport
2018-09-14 12:10 ` [PATCH 20/30] memblock: replace __alloc_bootmem with memblock_alloc_from Mike Rapoport
2018-09-14 12:10 ` [PATCH 21/30] memblock: replace alloc_bootmem with memblock_alloc Mike Rapoport
2018-09-26  9:38   ` Michal Hocko
2018-09-14 12:10 ` [PATCH 22/30] mm: nobootmem: remove bootmem allocation APIs Mike Rapoport
2018-09-14 12:10 ` [PATCH 23/30] memblock: replace free_bootmem{_node} with memblock_free Mike Rapoport
2018-09-14 12:10 ` [PATCH 24/30] memblock: replace free_bootmem_late with memblock_free_late Mike Rapoport
2018-09-14 12:10 ` [PATCH 25/30] memblock: rename free_all_bootmem to memblock_free_all Mike Rapoport
2018-09-14 12:10 ` [PATCH 26/30] memblock: rename __free_pages_bootmem to memblock_free_pages Mike Rapoport
2018-09-14 12:10 ` [PATCH 27/30] mm: remove nobootmem Mike Rapoport
2018-09-14 12:10 ` [PATCH 28/30] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants Mike Rapoport
2018-09-14 12:10 ` [PATCH 29/30] mm: remove include/linux/bootmem.h Mike Rapoport
2018-09-26  9:38   ` Michal Hocko
2018-09-14 12:10 ` Mike Rapoport [this message]
2018-09-26  9:41 ` [PATCH 00/30] mm: remove bootmem allocator Michal Hocko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1536927045-23536-31-git-send-email-rppt@linux.vnet.ibm.com \
    --to=rppt@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=chris@zankel.net \
    --cc=corbet@lwn.net \
    --cc=dalias@libc.org \
    --cc=davem@davemloft.net \
    --cc=fancer.lancer@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=green.hu@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=gxt@pku.edu.cn \
    --cc=jejb@parisc-linux.org \
    --cc=jonas@southpole.se \
    --cc=lftan@altera.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-c6x-dev@linux-c6x.org \
    --cc=linux-hexagon@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mattst88@gmail.com \
    --cc=mhocko@suse.com \
    --cc=mingo@redhat.com \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=msalter@redhat.com \
    --cc=nios2-dev@lists.rocketboards.org \
    --cc=openrisc@lists.librecores.org \
    --cc=palmer@sifive.com \
    --cc=paul.burton@mips.com \
    --cc=richard@nod.at \
    --cc=rkuo@codeaurora.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=uclinux-h8-devel@lists.sourceforge.jp \
    --cc=vgupta@synopsys.com \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).