Hi,
These patches include minor formatting and spelling updates to
Documentation/vm/numa_memory_policy.rst and move this file to
Documentation/admin-guide/mm.
Mike Rapoport (3):
docs/vm: numa_memory_policy: formatting and spelling updates
docs/vm: numa_memory_policy: s/Linux memory policy/NUMA memory policy/
docs/vm: move numa_memory_policy.rst to Documentation/admin-guide/mm
Documentation/admin-guide/mm/hugetlbpage.rst | 2 +-
Documentation/admin-guide/mm/index.rst | 1 +
.../{vm => admin-guide/mm}/numa_memory_policy.rst | 38 ++++++++++++++--------
Documentation/filesystems/proc.txt | 2 +-
Documentation/filesystems/tmpfs.txt | 5 +--
Documentation/vm/00-INDEX | 2 --
Documentation/vm/index.rst | 1 -
Documentation/vm/numa.rst | 2 +-
8 files changed, 31 insertions(+), 22 deletions(-)
rename Documentation/{vm => admin-guide/mm}/numa_memory_policy.rst (95%)
--
2.7.4
The document describes userspace API and as such it belongs to
Documentation/admin-guide/mm
Signed-off-by: Mike Rapoport <[email protected]>
---
Documentation/admin-guide/mm/hugetlbpage.rst | 2 +-
Documentation/admin-guide/mm/index.rst | 1 +
Documentation/{vm => admin-guide/mm}/numa_memory_policy.rst | 0
Documentation/filesystems/proc.txt | 2 +-
Documentation/filesystems/tmpfs.txt | 5 +++--
Documentation/vm/00-INDEX | 2 --
Documentation/vm/index.rst | 1 -
Documentation/vm/numa.rst | 2 +-
8 files changed, 7 insertions(+), 8 deletions(-)
rename Documentation/{vm => admin-guide/mm}/numa_memory_policy.rst (100%)
diff --git a/Documentation/admin-guide/mm/hugetlbpage.rst b/Documentation/admin-guide/mm/hugetlbpage.rst
index a8b0806..1cc0bc7 100644
--- a/Documentation/admin-guide/mm/hugetlbpage.rst
+++ b/Documentation/admin-guide/mm/hugetlbpage.rst
@@ -220,7 +220,7 @@ memory policy mode--bind, preferred, local or interleave--may be used. The
resulting effect on persistent huge page allocation is as follows:
#. Regardless of mempolicy mode [see
- :ref:`Documentation/vm/numa_memory_policy.rst <numa_memory_policy>`],
+ :ref:`Documentation/admin-guide/mm/numa_memory_policy.rst <numa_memory_policy>`],
persistent huge pages will be distributed across the node or nodes
specified in the mempolicy as if "interleave" had been specified.
However, if a node in the policy does not contain sufficient contiguous
diff --git a/Documentation/admin-guide/mm/index.rst b/Documentation/admin-guide/mm/index.rst
index ad28644..a69aa69 100644
--- a/Documentation/admin-guide/mm/index.rst
+++ b/Documentation/admin-guide/mm/index.rst
@@ -24,6 +24,7 @@ the Linux memory management.
hugetlbpage
idle_page_tracking
ksm
+ numa_memory_policy
pagemap
soft-dirty
userfaultfd
diff --git a/Documentation/vm/numa_memory_policy.rst b/Documentation/admin-guide/mm/numa_memory_policy.rst
similarity index 100%
rename from Documentation/vm/numa_memory_policy.rst
rename to Documentation/admin-guide/mm/numa_memory_policy.rst
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index ef53f80..520f6a8 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -566,7 +566,7 @@ address policy mapping details
Where:
"address" is the starting address for the mapping;
-"policy" reports the NUMA memory policy set for the mapping (see vm/numa_memory_policy.txt);
+"policy" reports the NUMA memory policy set for the mapping (see Documentation/admin-guide/mm/numa_memory_policy.rst);
"mapping details" summarizes mapping data such as mapping type, page usage counters,
node locality page counters (N0 == node0, N1 == node1, ...) and the kernel page
size, in KB, that is backing the mapping up.
diff --git a/Documentation/filesystems/tmpfs.txt b/Documentation/filesystems/tmpfs.txt
index 627389a..d06e9a5 100644
--- a/Documentation/filesystems/tmpfs.txt
+++ b/Documentation/filesystems/tmpfs.txt
@@ -105,8 +105,9 @@ policy for the file will revert to "default" policy.
NUMA memory allocation policies have optional flags that can be used in
conjunction with their modes. These optional flags can be specified
when tmpfs is mounted by appending them to the mode before the NodeList.
-See Documentation/vm/numa_memory_policy.rst for a list of all available
-memory allocation policy mode flags and their effect on memory policy.
+See Documentation/admin-guide/mm/numa_memory_policy.rst for a list of
+all available memory allocation policy mode flags and their effect on
+memory policy.
=static is equivalent to MPOL_F_STATIC_NODES
=relative is equivalent to MPOL_F_RELATIVE_NODES
diff --git a/Documentation/vm/00-INDEX b/Documentation/vm/00-INDEX
index f8a96ca..f4a4f3e 100644
--- a/Documentation/vm/00-INDEX
+++ b/Documentation/vm/00-INDEX
@@ -22,8 +22,6 @@ mmu_notifier.rst
- a note about clearing pte/pmd and mmu notifications
numa.rst
- information about NUMA specific code in the Linux vm.
-numa_memory_policy.rst
- - documentation of concepts and APIs of the 2.6 memory policy support.
overcommit-accounting.rst
- description of the Linux kernels overcommit handling modes.
page_frags.rst
diff --git a/Documentation/vm/index.rst b/Documentation/vm/index.rst
index ed58cb9..8e1cc66 100644
--- a/Documentation/vm/index.rst
+++ b/Documentation/vm/index.rst
@@ -14,7 +14,6 @@ various features of the Linux memory management
:maxdepth: 1
ksm
- numa_memory_policy
transhuge
swap_numa
zswap
diff --git a/Documentation/vm/numa.rst b/Documentation/vm/numa.rst
index aada84b..185d8a5 100644
--- a/Documentation/vm/numa.rst
+++ b/Documentation/vm/numa.rst
@@ -110,7 +110,7 @@ to improve NUMA locality using various CPU affinity command line interfaces,
such as taskset(1) and numactl(1), and program interfaces such as
sched_setaffinity(2). Further, one can modify the kernel's default local
allocation behavior using Linux NUMA memory policy.
-[see Documentation/vm/numa_memory_policy.rst.]
+[see Documentation/admin-guide/mm/numa_memory_policy.rst.]
System administrators can restrict the CPUs and nodes' memories that a non-
privileged user can specify in the scheduling or NUMA commands and functions
--
2.7.4
Signed-off-by: Mike Rapoport <[email protected]>
---
Documentation/vm/numa_memory_policy.rst | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/Documentation/vm/numa_memory_policy.rst b/Documentation/vm/numa_memory_policy.rst
index 8cd942c..ac0b396 100644
--- a/Documentation/vm/numa_memory_policy.rst
+++ b/Documentation/vm/numa_memory_policy.rst
@@ -44,14 +44,20 @@ System Default Policy
allocations.
Task/Process Policy
- this is an optional, per-task policy. When defined for a specific task, this policy controls all page allocations made by or on behalf of the task that aren't controlled by a more specific scope. If a task does not define a task policy, then all page allocations that would have been controlled by the task policy "fall back" to the System Default Policy.
+ this is an optional, per-task policy. When defined for a
+ specific task, this policy controls all page allocations made
+ by or on behalf of the task that aren't controlled by a more
+ specific scope. If a task does not define a task policy, then
+ all page allocations that would have been controlled by the
+ task policy "fall back" to the System Default Policy.
The task policy applies to the entire address space of a task. Thus,
it is inheritable, and indeed is inherited, across both fork()
[clone() w/o the CLONE_VM flag] and exec*(). This allows a parent task
to establish the task policy for a child task exec()'d from an
executable image that has no awareness of memory policy. See the
- MEMORY POLICY APIS section, below, for an overview of the system call
+ :ref:`Memory Policy APIs <memory_policy_apis>` section,
+ below, for an overview of the system call
that a task may use to set/change its task/process policy.
In a multi-threaded task, task policies apply only to the thread
@@ -70,12 +76,13 @@ Task/Process Policy
VMA Policy
A "VMA" or "Virtual Memory Area" refers to a range of a task's
virtual address space. A task may define a specific policy for a range
- of its virtual address space. See the MEMORY POLICIES APIS section,
+ of its virtual address space. See the
+ :ref:`Memory Policy APIs <memory_policy_apis>` section,
below, for an overview of the mbind() system call used to set a VMA
policy.
A VMA policy will govern the allocation of pages that back
- this region ofthe address space. Any regions of the task's
+ this region of the address space. Any regions of the task's
address space that don't have an explicit VMA policy will fall
back to the task policy, which may itself fall back to the
System Default Policy.
@@ -117,7 +124,7 @@ VMA Policy
Shared Policy
Conceptually, shared policies apply to "memory objects" mapped
shared into one or more tasks' distinct address spaces. An
- application installs a shared policies the same way as VMA
+ application installs shared policies the same way as VMA
policies--using the mbind() system call specifying a range of
virtual addresses that map the shared object. However, unlike
VMA policies, which can be considered to be an attribute of a
@@ -135,7 +142,7 @@ Shared Policy
Although hugetlbfs segments now support lazy allocation, their support
for shared policy has not been completed.
- As mentioned above :ref:`VMA policies <vma_policy>`,
+ As mentioned above in :ref:`VMA policies <vma_policy>` section,
allocations of page cache pages for regular files mmap()ed
with MAP_SHARED ignore any VMA policy installed on the virtual
address range backed by the shared file mapping. Rather,
@@ -245,7 +252,7 @@ MPOL_F_STATIC_NODES
the user should not be remapped if the task or VMA's set of allowed
nodes changes after the memory policy has been defined.
- Without this flag, anytime a mempolicy is rebound because of a
+ Without this flag, any time a mempolicy is rebound because of a
change in the set of allowed nodes, the node (Preferred) or
nodemask (Bind, Interleave) is remapped to the new set of
allowed nodes. This may result in nodes being used that were
@@ -389,7 +396,10 @@ follows:
or by prefaulting the entire shared memory region into memory and locking
it down. However, this might not be appropriate for all applications.
+.. _memory_policy_apis:
+
Memory Policy APIs
+==================
Linux supports 3 system calls for controlling memory policy. These APIS
always affect only the calling task, the calling task's address space, or
--
2.7.4
The document describes NUMA memory policy and as it is a part of the Linux
documentation it's obvious that this is Linux memory policy. Besides,
"Linux memory policy" may refer to other policies, e.g. memory hotplug
policy, and using term NUMA makes the documentation less ambiguous.
Signed-off-by: Mike Rapoport <[email protected]>
---
Documentation/vm/numa_memory_policy.rst | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/Documentation/vm/numa_memory_policy.rst b/Documentation/vm/numa_memory_policy.rst
index ac0b396..d78c5b3 100644
--- a/Documentation/vm/numa_memory_policy.rst
+++ b/Documentation/vm/numa_memory_policy.rst
@@ -1,10 +1,10 @@
.. _numa_memory_policy:
-===================
-Linux Memory Policy
-===================
+==================
+NUMA Memory Policy
+==================
-What is Linux Memory Policy?
+What is NUMA Memory Policy?
============================
In the Linux kernel, "memory policy" determines from which node the kernel will
@@ -162,7 +162,7 @@ Shared Policy
Components of Memory Policies
-----------------------------
-A Linux memory policy consists of a "mode", optional mode flags, and
+A NUMA memory policy consists of a "mode", optional mode flags, and
an optional set of nodes. The mode determines the behavior of the
policy, the optional mode flags determine the behavior of the mode,
and the optional set of nodes can be viewed as the arguments to the
@@ -172,7 +172,7 @@ Internally, memory policies are implemented by a reference counted
structure, struct mempolicy. Details of this structure will be
discussed in context, below, as required to explain the behavior.
-Linux memory policy supports the following 4 behavioral modes:
+NUMA memory policy supports the following 4 behavioral modes:
Default Mode--MPOL_DEFAULT
This mode is only used in the memory policy APIs. Internally,
@@ -245,7 +245,7 @@ MPOL_INTERLEAVED
address range or file. During system boot up, the temporary
interleaved system default policy works in this mode.
-Linux memory policy supports the following optional mode flags:
+NUMA memory policy supports the following optional mode flags:
MPOL_F_STATIC_NODES
This flag specifies that the nodemask passed by
--
2.7.4
On Tue, 8 May 2018 10:02:07 +0300
Mike Rapoport <[email protected]> wrote:
> These patches include minor formatting and spelling updates to
> Documentation/vm/numa_memory_policy.rst and move this file to
> Documentation/admin-guide/mm.
Set applied - thanks!
jon