aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-23 20:50:35 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-23 20:50:35 -0500
commit5ce1a70e2f00f0bce0cab57f798ca354b9496169 (patch)
tree6e80200536b7a3576fd71ff2c7135ffe87dc858e /Documentation
parent9d3cae26acb471d5954cfdc25d1438b32060babe (diff)
parentef53d16cded7f89b3843b7a96970dab897843ea5 (diff)
Merge branch 'akpm' (more incoming from Andrew)
Merge second patch-bomb from Andrew Morton: - A little DM fix - the MM queue * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (154 commits) ksm: allocate roots when needed mm: cleanup "swapcache" in do_swap_page mm,ksm: swapoff might need to copy mm,ksm: FOLL_MIGRATION do migration_entry_wait ksm: shrink 32-bit rmap_item back to 32 bytes ksm: treat unstable nid like in stable tree ksm: add some comments tmpfs: fix mempolicy object leaks tmpfs: fix use-after-free of mempolicy object mm/fadvise.c: drain all pagevecs if POSIX_FADV_DONTNEED fails to discard all pages mm: export mmu notifier invalidates mm: accelerate mm_populate() treatment of THP pages mm: use long type for page counts in mm_populate() and get_user_pages() mm: accurately document nr_free_*_pages functions with code comments HWPOISON: change order of error_states[]'s elements HWPOISON: fix misjudgement of page_action() for errors on mlocked pages memcg: stop warning on memcg_propagate_kmem net: change type of virtio_chan->p9_max_pages vmscan: change type of vm_total_pages to unsigned long fs/nfsd: change type of max_delegations, nfsd_drc_max_mem and nfsd_drc_mem_used ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/testing/sysfs-kernel-mm-ksm52
-rw-r--r--Documentation/kernel-parameters.txt36
-rw-r--r--Documentation/vm/ksm.txt15
3 files changed, 103 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-ksm b/Documentation/ABI/testing/sysfs-kernel-mm-ksm
new file mode 100644
index 000000000000..73e653ee2481
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-kernel-mm-ksm
@@ -0,0 +1,52 @@
1What: /sys/kernel/mm/ksm
2Date: September 2009
3KernelVersion: 2.6.32
4Contact: Linux memory management mailing list <linux-mm@kvack.org>
5Description: Interface for Kernel Samepage Merging (KSM)
6
7What: /sys/kernel/mm/ksm/full_scans
8What: /sys/kernel/mm/ksm/pages_shared
9What: /sys/kernel/mm/ksm/pages_sharing
10What: /sys/kernel/mm/ksm/pages_to_scan
11What: /sys/kernel/mm/ksm/pages_unshared
12What: /sys/kernel/mm/ksm/pages_volatile
13What: /sys/kernel/mm/ksm/run
14What: /sys/kernel/mm/ksm/sleep_millisecs
15Date: September 2009
16Contact: Linux memory management mailing list <linux-mm@kvack.org>
17Description: Kernel Samepage Merging daemon sysfs interface
18
19 full_scans: how many times all mergeable areas have been
20 scanned.
21
22 pages_shared: how many shared pages are being used.
23
24 pages_sharing: how many more sites are sharing them i.e. how
25 much saved.
26
27 pages_to_scan: how many present pages to scan before ksmd goes
28 to sleep.
29
30 pages_unshared: how many pages unique but repeatedly checked
31 for merging.
32
33 pages_volatile: how many pages changing too fast to be placed
34 in a tree.
35
36 run: write 0 to disable ksm, read 0 while ksm is disabled.
37 write 1 to run ksm, read 1 while ksm is running.
38 write 2 to disable ksm and unmerge all its pages.
39
40 sleep_millisecs: how many milliseconds ksm should sleep between
41 scans.
42
43 See Documentation/vm/ksm.txt for more information.
44
45What: /sys/kernel/mm/ksm/merge_across_nodes
46Date: January 2013
47KernelVersion: 3.9
48Contact: Linux memory management mailing list <linux-mm@kvack.org>
49Description: Control merging pages across different NUMA nodes.
50
51 When it is set to 0 only pages from the same node are merged,
52 otherwise pages from all nodes can be merged together (default).
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 9aa8ff3e54dc..766087781ecd 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1640,6 +1640,42 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
1640 that the amount of memory usable for all allocations 1640 that the amount of memory usable for all allocations
1641 is not too small. 1641 is not too small.
1642 1642
1643 movablemem_map=acpi
1644 [KNL,X86,IA-64,PPC] This parameter is similar to
1645 memmap except it specifies the memory map of
1646 ZONE_MOVABLE.
1647 This option inform the kernel to use Hot Pluggable bit
1648 in flags from SRAT from ACPI BIOS to determine which
1649 memory devices could be hotplugged. The corresponding
1650 memory ranges will be set as ZONE_MOVABLE.
1651 NOTE: Whatever node the kernel resides in will always
1652 be un-hotpluggable.
1653
1654 movablemem_map=nn[KMG]@ss[KMG]
1655 [KNL,X86,IA-64,PPC] This parameter is similar to
1656 memmap except it specifies the memory map of
1657 ZONE_MOVABLE.
1658 If user specifies memory ranges, the info in SRAT will
1659 be ingored. And it works like the following:
1660 - If more ranges are all within one node, then from
1661 lowest ss to the end of the node will be ZONE_MOVABLE.
1662 - If a range is within a node, then from ss to the end
1663 of the node will be ZONE_MOVABLE.
1664 - If a range covers two or more nodes, then from ss to
1665 the end of the 1st node will be ZONE_MOVABLE, and all
1666 the rest nodes will only have ZONE_MOVABLE.
1667 If memmap is specified at the same time, the
1668 movablemem_map will be limited within the memmap
1669 areas. If kernelcore or movablecore is also specified,
1670 movablemem_map will have higher priority to be
1671 satisfied. So the administrator should be careful that
1672 the amount of movablemem_map areas are not too large.
1673 Otherwise kernel won't have enough memory to start.
1674 NOTE: We don't stop users specifying the node the
1675 kernel resides in as hotpluggable so that this
1676 option can be used as a workaround of firmware
1677 bugs.
1678
1643 MTD_Partition= [MTD] 1679 MTD_Partition= [MTD]
1644 Format: <name>,<region-number>,<size>,<offset> 1680 Format: <name>,<region-number>,<size>,<offset>
1645 1681
diff --git a/Documentation/vm/ksm.txt b/Documentation/vm/ksm.txt
index b392e496f816..f34a8ee6f860 100644
--- a/Documentation/vm/ksm.txt
+++ b/Documentation/vm/ksm.txt
@@ -58,6 +58,21 @@ sleep_millisecs - how many milliseconds ksmd should sleep before next scan
58 e.g. "echo 20 > /sys/kernel/mm/ksm/sleep_millisecs" 58 e.g. "echo 20 > /sys/kernel/mm/ksm/sleep_millisecs"
59 Default: 20 (chosen for demonstration purposes) 59 Default: 20 (chosen for demonstration purposes)
60 60
61merge_across_nodes - specifies if pages from different numa nodes can be merged.
62 When set to 0, ksm merges only pages which physically
63 reside in the memory area of same NUMA node. That brings
64 lower latency to access of shared pages. Systems with more
65 nodes, at significant NUMA distances, are likely to benefit
66 from the lower latency of setting 0. Smaller systems, which
67 need to minimize memory usage, are likely to benefit from
68 the greater sharing of setting 1 (default). You may wish to
69 compare how your system performs under each setting, before
70 deciding on which to use. merge_across_nodes setting can be
71 changed only when there are no ksm shared pages in system:
72 set run 2 to unmerge pages first, then to 1 after changing
73 merge_across_nodes, to remerge according to the new setting.
74 Default: 1 (merging across nodes as in earlier releases)
75
61run - set 0 to stop ksmd from running but keep merged pages, 76run - set 0 to stop ksmd from running but keep merged pages,
62 set 1 to run ksmd e.g. "echo 1 > /sys/kernel/mm/ksm/run", 77 set 1 to run ksmd e.g. "echo 1 > /sys/kernel/mm/ksm/run",
63 set 2 to stop ksmd and unmerge all pages currently merged, 78 set 2 to stop ksmd and unmerge all pages currently merged,