Patch "tmpfs: fix Documentation of noswap and huge mount options" has been added to the 6.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    tmpfs: fix Documentation of noswap and huge mount options

to the 6.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tmpfs-fix-documentation-of-noswap-and-huge-mount-opt.patch
and it can be found in the queue-6.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c67e9b6b1bc54cf0cbbf563bd2f56fa906d0a888
Author: Hugh Dickins <hughd@xxxxxxxxxx>
Date:   Sun Jul 23 13:55:00 2023 -0700

    tmpfs: fix Documentation of noswap and huge mount options
    
    [ Upstream commit 253e5df8b8f0145adb090f57c6f4e6efa52d738e ]
    
    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).
    
    [rdunlap@xxxxxxxxxxxxx: fixup Docs table for huge mount options]
      Link: https://lkml.kernel.org/r/20230725052333.26857-1-rdunlap@xxxxxxxxxxxxx
    Link: https://lkml.kernel.org/r/986cb0bf-9780-354-9bb-4bf57aadbab@xxxxxxxxxx
    Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>
    Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
    Fixes: d0f5a85442d1 ("shmem: update documentation")
    Fixes: 2c6efe9cf2d7 ("shmem: add support to ignore swap")
    Reviewed-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
    Cc: Christian Brauner <brauner@xxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/Documentation/filesystems/tmpfs.rst b/Documentation/filesystems/tmpfs.rst
index f18f46be5c0c7..2cd8fa332feb7 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()
-======  ============================================================
-
-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
-==  ============================================================
+================ ==============================================================
+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).
+================ ==============================================================
+
+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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux