Re: [PATCH] mm/Kconfig: update "Memory Model" help text

From: Michal Hocko
Date: Thu Apr 25 2019 - 08:09:50 EST


On Thu 25-04-19 13:35:31, Mike Rapoport wrote:
> The help describing the memory model selection is outdated. It still says
> that SPARSEMEM is experimental and DISCONTIGMEM is a preferred over
> SPARSEMEM.
>
> Update the help text for the relevant options:
> * add a generic help for the "Memory Model" prompt
> * add description for FLATMEM
> * reduce the description of DISCONTIGMEM and add a deprecation note
> * prefer SPARSEMEM over DISCONTIGMEM
>
> Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxx>

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

> ---
> mm/Kconfig | 48 +++++++++++++++++++++++-------------------------
> 1 file changed, 23 insertions(+), 25 deletions(-)
>
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 25c71eb8a7db..8f7ae4d71b77 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -11,23 +11,24 @@ choice
> default DISCONTIGMEM_MANUAL if ARCH_DISCONTIGMEM_DEFAULT
> default SPARSEMEM_MANUAL if ARCH_SPARSEMEM_DEFAULT
> default FLATMEM_MANUAL
> + help
> + This option allows you to change some of the ways that
> + Linux manages its memory internally. Most users will
> + only have one option here selected by the architecture
> + configuration. This is normal.
>
> config FLATMEM_MANUAL
> bool "Flat Memory"
> depends on !(ARCH_DISCONTIGMEM_ENABLE || ARCH_SPARSEMEM_ENABLE) || ARCH_FLATMEM_ENABLE
> help
> - This option allows you to change some of the ways that
> - Linux manages its memory internally. Most users will
> - only have one option here: FLATMEM. This is normal
> - and a correct option.
> -
> - Some users of more advanced features like NUMA and
> - memory hotplug may have different options here.
> - DISCONTIGMEM is a more mature, better tested system,
> - but is incompatible with memory hotplug and may suffer
> - decreased performance over SPARSEMEM. If unsure between
> - "Sparse Memory" and "Discontiguous Memory", choose
> - "Discontiguous Memory".
> + This option is best suited for non-NUMA systems with
> + flat address space. The FLATMEM is the most efficient
> + system in terms of performance and resource consumption
> + and it is the best option for smaller systems.
> +
> + For systems that have holes in their physical address
> + spaces and for features like NUMA and memory hotplug,
> + choose "Sparse Memory"
>
> If unsure, choose this option (Flat Memory) over any other.
>
> @@ -38,29 +39,26 @@ config DISCONTIGMEM_MANUAL
> This option provides enhanced support for discontiguous
> memory systems, over FLATMEM. These systems have holes
> in their physical address spaces, and this option provides
> - more efficient handling of these holes. However, the vast
> - majority of hardware has quite flat address spaces, and
> - can have degraded performance from the extra overhead that
> - this option imposes.
> + more efficient handling of these holes.
>
> - Many NUMA configurations will have this as the only option.
> + Although "Discontiguous Memory" is still used by several
> + architectures, it is considered deprecated in favor of
> + "Sparse Memory".
>
> - If unsure, choose "Flat Memory" over this option.
> + If unsure, choose "Sparse Memory" over this option.
>
> config SPARSEMEM_MANUAL
> bool "Sparse Memory"
> depends on ARCH_SPARSEMEM_ENABLE
> help
> This will be the only option for some systems, including
> - memory hotplug systems. This is normal.
> + memory hot-plug systems. This is normal.
>
> - For many other systems, this will be an alternative to
> - "Discontiguous Memory". This option provides some potential
> - performance benefits, along with decreased code complexity,
> - but it is newer, and more experimental.
> + This option provides efficient support for systems with
> + holes is their physical address space and allows memory
> + hot-plug and hot-remove.
>
> - If unsure, choose "Discontiguous Memory" or "Flat Memory"
> - over this option.
> + If unsure, choose "Flat Memory" over this option.
>
> endchoice
>
> --
> 2.7.4

--
Michal Hocko
SUSE Labs