diff mbox series

[mm-hotfixes] tmpfs: fix Documentation of noswap and huge mount options

Message ID 986cb0bf-9780-354-9bb-4bf57aadbab@google.com (mailing list archive)
State New
Headers show
Series [mm-hotfixes] tmpfs: fix Documentation of noswap and huge mount options | expand

Commit Message

Hugh Dickins July 23, 2023, 8:55 p.m. UTC
The noswap mount option is surely not one of the three options for sizing:
move its description down.

The huge= mount option does not accept numeric values: those are just in
an internal enum.  Delete those numbers, and follow the manpage text more
closely (but there's not yet any fadvise() or fcntl() which applies here).

/sys/kernel/mm/transparent_hugepage/shmem_enabled is hard to describe, and
barely relevant to mounting a tmpfs: just refer to transhuge.rst (while
still using the words deny and force, to help as informal reminders).

Fixes: d0f5a85442d1 ("shmem: update documentation")
Fixes: 2c6efe9cf2d7 ("shmem: add support to ignore swap")
Signed-off-by: Hugh Dickins <hughd@google.com>
---
 Documentation/filesystems/tmpfs.rst | 45 ++++++++++++-----------------
 1 file changed, 19 insertions(+), 26 deletions(-)

Comments

Luis Chamberlain July 24, 2023, 6:41 p.m. UTC | #1
On Sun, Jul 23, 2023 at 01:55:00PM -0700, Hugh Dickins wrote:
> The noswap mount option is surely not one of the three options for sizing:
> move its description down.
> 
> The huge= mount option does not accept numeric values: those are just in
> an internal enum.  Delete those numbers, and follow the manpage text more
> closely (but there's not yet any fadvise() or fcntl() which applies here).
> 
> /sys/kernel/mm/transparent_hugepage/shmem_enabled is hard to describe, and
> barely relevant to mounting a tmpfs: just refer to transhuge.rst (while
> still using the words deny and force, to help as informal reminders).
> 
> Fixes: d0f5a85442d1 ("shmem: update documentation")
> Fixes: 2c6efe9cf2d7 ("shmem: add support to ignore swap")
> Signed-off-by: Hugh Dickins <hughd@google.com>

Reviewed-by: Luis Chamberlain <mcgrof@kernel.org> 

Thanks for fixing this and addressing the preference you wanted for
master documentation, I'll follow up again with the style fixes for the
man pages.

  Luis
diff mbox series

Patch

diff --git a/Documentation/filesystems/tmpfs.rst b/Documentation/filesystems/tmpfs.rst
index f18f46be5c0c..28aeaeea47d0 100644
--- a/Documentation/filesystems/tmpfs.rst
+++ b/Documentation/filesystems/tmpfs.rst
@@ -84,8 +84,6 @@  nr_inodes  The maximum number of inodes for this instance. The default
            is half of the number of your physical RAM pages, or (on a
            machine with highmem) the number of lowmem RAM pages,
            whichever is the lower.
-noswap     Disables swap. Remounts must respect the original settings.
-           By default swap is enabled.
 =========  ============================================================
 
 These parameters accept a suffix k, m or g for kilo, mega and giga and
@@ -99,36 +97,31 @@  mount with such options, since it allows any user with write access to
 use up all the memory on the machine; but enhances the scalability of
 that instance in a system with many CPUs making intensive use of it.
 
+tmpfs blocks may be swapped out, when there is a shortage of memory.
+tmpfs has a mount option to disable its use of swap:
+
+======  ===========================================================
+noswap  Disables swap. Remounts must respect the original settings.
+        By default swap is enabled.
+======  ===========================================================
+
 tmpfs also supports Transparent Huge Pages which requires a kernel
 configured with CONFIG_TRANSPARENT_HUGEPAGE and with huge supported for
 your system (has_transparent_hugepage(), which is architecture specific).
 The mount options for this are:
 
-======  ============================================================
-huge=0  never: disables huge pages for the mount
-huge=1  always: enables huge pages for the mount
-huge=2  within_size: only allocate huge pages if the page will be
-        fully within i_size, also respect fadvise()/madvise() hints.
-huge=3  advise: only allocate huge pages if requested with
-        fadvise()/madvise()
-======  ============================================================
+===========  ==============================================================
+huge=never   Do not allocate huge pages.  This is the default.
+huge=always  Attempt to allocate huge page every time a new page is needed.
+huge=within_size Only allocate huge page if it will be fully within i_size.
+             Also respect madvise(2) hints.
+huge=advise  Only allocate huge page if requested with madvise(2).
+===========  ==============================================================
 
-There is a sysfs file which you can also use to control system wide THP
-configuration for all tmpfs mounts, the file is:
-
-/sys/kernel/mm/transparent_hugepage/shmem_enabled
-
-This sysfs file is placed on top of THP sysfs directory and so is registered
-by THP code. It is however only used to control all tmpfs mounts with one
-single knob. Since it controls all tmpfs mounts it should only be used either
-for emergency or testing purposes. The values you can set for shmem_enabled are:
-
-==  ============================================================
--1  deny: disables huge on shm_mnt and all mounts, for
-    emergency use
--2  force: enables huge on shm_mnt and all mounts, w/o needing
-    option, for testing
-==  ============================================================
+See also Documentation/admin-guide/mm/transhuge.rst, which describes the
+sysfs file /sys/kernel/mm/transparent_hugepage/shmem_enabled: which can
+be used to deny huge pages on all tmpfs mounts in an emergency, or to
+force huge pages on all tmpfs mounts for testing.
 
 tmpfs has a mount option to set the NUMA memory allocation policy for
 all files in that instance (if CONFIG_NUMA is enabled) - which can be