mirror-linux/Documentation
Lorenzo Stoakes a27848a035 docs: update THP documentation to clarify sysfs "never" setting
Rather confusingly, setting all Transparent Huge Page sysfs settings to
"never" does not in fact result in THP being globally disabled.

Rather, it results in khugepaged being disabled, but one can still obtain
THP pages using madvise(..., MADV_COLLAPSE).

This is something that has remained poorly documented for some time, and
it is likely the received wisdom of most users of THP that never does, in
fact, mean never.

It is therefore important to highlight, very clearly, that this is not the
case.

[lorenzo.stoakes@oracle.com: update transhuge page to mention MADV_COLLAPSE]
  Link: https://lkml.kernel.org/r/d54d1dfb-f06d-4979-983b-73998f05867e@lucifer.local
Link: https://lkml.kernel.org/r/20250721155530.75944-1-lorenzo.stoakes@oracle.com
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Acked-by: SeongJae Park <sj@kernel.org>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: Barry Song <baohua@kernel.org>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Mariano Pache <npache@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-07-24 19:12:43 -07:00
..
ABI Docs/ABI/damon: update for refresh_ms 2025-07-24 19:12:33 -07:00
PCI Merge branch 'pci/misc' 2025-06-04 10:50:45 -05:00
RCU
accel
accounting
admin-guide docs: update THP documentation to clarify sysfs "never" setting 2025-07-24 19:12:43 -07:00
arch docs: arm64: Fix ICC_SRE_EL2 register typo in booting.rst 2025-06-12 15:50:00 +01:00
block Documentation: ublk: Separate UBLK_F_AUTO_BUF_REG fallback behavior sublists 2025-06-13 09:25:42 -06:00
bpf bpf: Adjust free target to avoid global starvation of LRU map 2025-06-18 18:50:14 -07:00
cdrom
core-api mm,memory_hotplug: drop status_change_nid parameter from memory_notify 2025-07-13 16:38:17 -07:00
cpu-freq
crypto
dev-tools
devicetree i2c-for-6.16-rc5 2025-07-05 12:54:24 -07:00
doc-guide Docs: doc-guide: update sphinx.rst Sphinx version number 2025-05-21 04:28:29 -06:00
driver-api Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
edac cxl/edac: Add CXL memory device soft PPR control feature 2025-05-23 13:25:06 -07:00
fault-injection
fb fbdev: sstfb.rst: Fix spelling mistake 2025-05-31 10:24:02 +02:00
features LoongArch: Enable ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS 2025-05-30 21:45:42 +08:00
filesystems mm, vmstat: remove the NR_WRITEBACK_TEMP node_stat_item counter 2025-07-19 18:59:47 -07:00
firmware-guide
firmware_class
fpga
gpu Documentation: nouveau: Update GSP message queue kernel-doc reference 2025-06-13 16:46:35 +02:00
hid
hwmon hwmon updates for v6.16 2025-06-03 09:11:26 -07:00
i2c
iio docs: iio: ad3552r: fix malformed table 2025-05-21 14:19:46 +01:00
images
infiniband
input Input: amijoy - make headings compliant w/ guidelines in documentation 2025-05-30 15:34:38 -07:00
isdn
kbuild Kbuild updates for v6.16 2025-06-07 10:05:35 -07:00
kernel-hacking
leds LEDs for v6.16 2025-06-03 12:10:31 -07:00
litmus-tests
livepatch
locking
maintainer
mhi
misc-devices misc: amd-sbi: Add document for AMD SB IOCTL description 2025-05-21 14:44:41 +02:00
mm Docs/mm/damon/design: document vaddr support for migrate_{hot,cold} 2025-07-19 18:59:50 -07:00
netlabel
netlink netlink: specs: enforce strict naming of properties 2025-06-25 15:36:28 -07:00
networking doc: tls: socket needs to be established to enable ulp 2025-06-27 15:33:01 -07:00
nvdimm
nvme
pcmcia
peci
power
process docs: netdev: correct the heading level for co-posting selftests 2025-06-27 15:31:24 -07:00
rust Documentation: rust: testing: add docs on the new KUnit `#[test]` tests 2025-05-27 20:09:59 +02:00
scheduler sched_ext: Changes for v6.16 2025-05-27 21:12:50 -07:00
scsi
security
sound ASoC: doc: cs35l56: Add CS35L63 to the list of supported devices 2025-06-18 17:22:48 +01:00
sphinx docs: kerneldoc.py: simplify exception handling logic 2025-05-21 03:53:40 -06:00
sphinx-static
spi
staging rpmsg updates for v6.16 2025-06-02 11:06:44 -07:00
sunrpc/xdr
target
tee
timers
tools
trace Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
translations mm,memory_hotplug: remove status_change_nid_normal and update documentation 2025-07-13 16:38:14 -07:00
usb
userspace-api LoongArch changes for v6.16 2025-06-07 09:56:18 -07:00
virt KVM: TDX: Exit to userspace for GetTdVmCallInfo 2025-06-20 13:55:47 -04:00
w1
watchdog
wmi platform/x86: wmi: Update documentation of WCxx/WExx ACPI methods 2025-06-26 18:19:27 +03:00
.gitignore
Changes
CodingStyle
Kconfig
Makefile
SubmittingPatches
atomic_bitops.txt
atomic_t.txt
conf.py
docutils.conf
index.rst
memory-barriers.txt
subsystem-apis.rst