Skip to content

Commit

Permalink
mm/Kconfig: update "Memory Model" help text
Browse files Browse the repository at this point in the history
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

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Mike Rapoport <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
rppt authored and torvalds committed May 14, 2019
1 parent 2fa2690 commit d66d109
Showing 1 changed file with 23 additions and 25 deletions.
48 changes: 23 additions & 25 deletions mm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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

Expand Down

0 comments on commit d66d109

Please sign in to comment.