1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/Documentation
Huang Ying 20b51af15e mm/migrate: add sysfs interface to enable reclaim migration
Some method is obviously needed to enable reclaim-based migration.

Just like traditional autonuma, there will be some workloads that will
benefit like workloads with more "static" configurations where hot pages
stay hot and cold pages stay cold.  If pages come and go from the hot and
cold sets, the benefits of this approach will be more limited.

The benefits are truly workload-based and *not* hardware-based.  We do not
believe that there is a viable threshold where certain hardware
configurations should have this mechanism enabled while others do not.

To be conservative, earlier work defaulted to disable reclaim- based
migration and did not include a mechanism to enable it.  This proposes add
a new sysfs file

  /sys/kernel/mm/numa/demotion_enabled

as a method to enable it.

We are open to any alternative that allows end users to enable this
mechanism or disable it if workload harm is detected (just like
traditional autonuma).

Once this is enabled page demotion may move data to a NUMA node that does
not fall into the cpuset of the allocating process.  This could be
construed to violate the guarantees of cpusets.  However, since this is an
opt-in mechanism, the assumption is that anyone enabling it is content to
relax the guarantees.

Link: https://lkml.kernel.org/r/20210721063926.3024591-9-ying.huang@intel.com
Link: https://lkml.kernel.org/r/20210715055145.195411-10-ying.huang@intel.com
Signed-off-by: Huang Ying <ying.huang@intel.com>
Originally-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Wei Xu <weixugc@google.com>
Cc: Yang Shi <yang.shi@linux.alibaba.com>
Cc: Zi Yan <ziy@nvidia.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Keith Busch <kbusch@kernel.org>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Yang Shi <shy828301@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-09-03 09:58:16 -07:00
..
ABI mm/migrate: add sysfs interface to enable reclaim migration 2021-09-03 09:58:16 -07:00
accounting delayacct: Add sysctl to enable at runtime 2021-05-12 11:43:25 +02:00
admin-guide USB / Thunderbolt patches for 5.14-rc1 2021-07-05 14:16:22 -07:00
arm docs: Fix typo in Documentation/arm/marvell.rst 2021-06-04 11:28:36 -06:00
arm64 userfaultfd: do not untag user pointers 2021-07-23 17:43:28 -07:00
block for-5.14/block-2021-06-29 2021-06-30 12:12:56 -07:00
bpf libbpf, doc: Eliminate warnings in libbpf_naming_convention 2021-08-07 01:39:19 +02:00
cdrom docs: cdrom-standard.rst: get rid of uneeded UTF-8 chars 2021-05-11 11:00:17 -06:00
core-api mm: remove flush_kernel_dcache_page 2021-09-03 09:58:13 -07:00
cpu-freq cpufreq: Remove ->resolve_freq() 2021-06-30 19:45:42 +02:00
crypto crypto: remove cipher routines from public crypto API 2021-01-03 08:41:35 +11:00
dev-tools mm/kasan: move kasan.fault to mm/kasan/report.c 2021-09-03 09:58:14 -07:00
devicetree RISC-V Fixes for 5.14-rc7 2021-08-21 11:04:26 -07:00
doc-guide docs: doc-guide: avoid using ReST :doc:foo markup 2021-06-17 13:24:37 -06:00
driver-api Documentation: Fix intiramfs script name 2021-07-18 23:48:14 +09:00
fault-injection docs: fault-injection: fix non-working usage of negative values 2021-06-14 15:58:22 -06:00
fb Documentation: Add leading slash to some paths 2021-03-31 13:49:19 -06:00
features Documentation/features: Add THREAD_INFO_IN_TASK feature matrix 2021-07-15 06:33:44 -06:00
filesystems Documentation: Fix intiramfs script name 2021-07-18 23:48:14 +09:00
firmware-guide pwm: Changes for v5.14-rc1 2021-07-08 12:18:04 -07:00
firmware_class firmware: revamp firmware documentation 2017-01-11 09:42:59 +01:00
fpga Documentation: fpga: dfl: change FPGA indirect article to an 2021-06-09 14:51:25 +02:00
gpu drm/doc/rfc: drop lmem uapi section 2021-08-12 06:05:45 -04:00
hid Documentation: Add leading slash to some paths 2021-03-31 13:49:19 -06:00
hwmon hwmon: (pmbus) Add driver for Delta DPS-920AB PSU 2021-06-17 04:21:46 -07:00
i2c Documentation: i2c: add i2c-sysfs into index 2021-08-10 22:58:32 +02:00
ia64 docs: archis: add a per-architecture features list 2020-12-03 15:10:15 -07:00
ide
iio iio: hrtimer: Allow sub Hz granularity 2021-03-25 19:13:49 +00:00
infiniband
input docs: networking: Replace strncpy() with strscpy() 2021-06-04 11:21:43 -06:00
isdn
kbuild Kconfig updates for v5.13 2021-04-29 14:32:00 -07:00
kernel-hacking docs: kernel-hacking: hacking.rst: avoid using ReST :doc:foo markup 2021-06-17 13:24:38 -06:00
leds Documentation: Add leading slash to some paths 2021-03-31 13:49:19 -06:00
litmus-tests Documentation/litmus-tests: Add note on herd7 7.56 in atomic litmus test 2020-06-29 12:05:18 -07:00
livepatch docs: livepatch: Fix a typo and remove the unnecessary gaps in a sentence 2021-03-08 17:25:16 -07:00
locking locking/lockdep,doc: Improve readability of the block matrix 2021-05-31 10:14:54 +02:00
m68k
maintainer media: add a subsystem profile documentation 2021-03-22 08:56:42 +01:00
mhi
mips
misc-devices dw-xdata-pcie: Update outdated info and improve text format 2021-04-14 19:47:28 +02:00
netlabel docs: add some directories to the main documentation index 2019-07-15 11:03:03 -03:00
networking Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf 2021-08-06 08:44:50 -07:00
nios2 docs: nios2: add missing ReST file 2020-12-07 08:35:21 -07:00
nvdimm
openrisc
parisc
PCI pci-v5.14-changes 2021-07-08 12:06:20 -07:00
pcmcia
power PM: runtime: Clarify documentation when callbacks are unassigned 2021-06-11 19:04:07 +02:00
powerpc powerpc/64s/syscall: Use pt_regs.trap to distinguish syscall ABI difference between sc and scv syscalls 2021-05-21 00:58:03 +10:00
process docs: process: submitting-patches.rst: avoid using ReST :doc:foo markup 2021-06-17 13:24:38 -06:00
RCU Merge branch 'core-rcu-2021.07.04' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu 2021-07-04 12:58:33 -07:00
riscv riscv: Ensure BPF_JIT_REGION_START aligned with PMD size 2021-06-18 21:10:05 -07:00
s390 vfio/mdev: Remove CONFIG_VFIO_MDEV_DEVICE 2021-06-21 15:29:25 -06:00
scheduler This was a reasonably active cycle for documentation; this pull includes: 2021-06-28 16:53:05 -07:00
scsi scsi: core: Kill message byte 2021-05-31 22:48:24 -04:00
security This was a reasonably active cycle for documentation; this pull includes: 2021-06-28 16:53:05 -07:00
sh docs: archis: add a per-architecture features list 2020-12-03 15:10:15 -07:00
sound ASoC: Updates for v5.14 2021-07-01 08:36:12 +02:00
sparc docs: archis: add a per-architecture features list 2020-12-03 15:10:15 -07:00
sphinx docs: sphinx: Fix couple of spellings in the file rstFlatTable.py 2021-03-06 17:36:50 -07:00
sphinx-static
spi spi: pxa2xx: Update documentation to point out that it's outdated 2021-05-18 14:05:36 +01:00
staging
target tweewide: Fix most Shebang lines 2020-12-08 23:30:04 +09:00
timers Documentation: drop optional BOMs 2021-05-10 15:17:34 -06:00
trace tracing/histogram: Rename "cpu" to "common_cpu" 2021-07-23 08:44:47 -04:00
translations mm: remove flush_kernel_dcache_page 2021-09-03 09:58:13 -07:00
usb USB / Thunderbolt patches for 5.14-rc1 2021-07-05 14:16:22 -07:00
userspace-api seccomp fixes for v5.14-rc6 2021-08-11 19:56:10 -10:00
virt KVM: x86/mmu: Protect marking SPs unsync when using TDP MMU with spinlock 2021-08-13 03:32:14 -04:00
vm doc: hwpoison: correct the support for hugepage 2021-09-03 09:58:15 -07:00
w1 w1: fix build warning in w1_ds2438.rst 2021-05-26 09:11:24 +02:00
watchdog docs: watchdog: fix obsolete include file reference in pcwd 2021-03-06 17:36:51 -07:00
x86 Fixes and improvements for FPU handling on x86: 2021-07-07 11:12:01 -07:00
xtensa A much quieter cycle for documentation (happily), with, one hopes, the bulk 2020-12-14 16:55:54 -08:00
.gitignore
arch.rst docs: Group arch-specific documentation under "CPU Architectures" 2021-03-15 13:35:35 -06:00
asm-annotations.rst x86/entry: Emit a symbol for register restoring thunk 2021-01-14 17:18:25 +01:00
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle doc: re-add CodingStyle and SubmittingPatches 2016-10-24 08:12:35 -02:00
conf.py docs: Take a little noise out of the build process 2021-06-17 13:49:18 -06:00
COPYING-logo
docutils.conf
dontdiff kbuild: generate Module.symvers only when vmlinux exists 2021-04-25 05:17:02 +09:00
index.rst docs: Group arch-specific documentation under "CPU Architectures" 2021-03-15 13:35:35 -06:00
Kconfig
logo.gif
Makefile docs: Makefile: Use CONFIG_SHELL not SHELL 2021-06-18 11:26:08 -06:00
memory-barriers.txt
SubmittingPatches
watch_queue.rst