Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42f44d12 authored by Mike Rapoport's avatar Mike Rapoport Committed by Jonathan Corbet
Browse files

docs/vm: numa_memory_policy: formatting and spelling updates

parent 4ffd41bc
Loading
Loading
Loading
Loading
+17 −7
Original line number Original line Diff line number Diff line
@@ -44,14 +44,20 @@ System Default Policy
	allocations.
	allocations.


Task/Process Policy
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,
	The task policy applies to the entire address space of a task. Thus,
	it is inheritable, and indeed is inherited, across both fork()
	it is inheritable, and indeed is inherited, across both fork()
	[clone() w/o the CLONE_VM flag] and exec*().  This allows a parent task
	[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
	to establish the task policy for a child task exec()'d from an
	executable image that has no awareness of memory policy.  See the
	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.
	that a task may use to set/change its task/process policy.


	In a multi-threaded task, task policies apply only to the thread
	In a multi-threaded task, task policies apply only to the thread
@@ -70,7 +76,8 @@ Task/Process Policy
VMA Policy
VMA Policy
	A "VMA" or "Virtual Memory Area" refers to a range of a task's
	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
	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
	below, for an overview of the mbind() system call used to set a VMA
	policy.
	policy.


@@ -117,7 +124,7 @@ VMA Policy
Shared Policy
Shared Policy
	Conceptually, shared policies apply to "memory objects" mapped
	Conceptually, shared policies apply to "memory objects" mapped
	shared into one or more tasks' distinct address spaces.  An
	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
	policies--using the mbind() system call specifying a range of
	virtual addresses that map the shared object.  However, unlike
	virtual addresses that map the shared object.  However, unlike
	VMA policies, which can be considered to be an attribute of a
	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
	Although hugetlbfs segments now support lazy allocation, their support
	for shared policy has not been completed.
	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
	allocations of page cache pages for regular files mmap()ed
	with MAP_SHARED ignore any VMA policy installed on the virtual
	with MAP_SHARED ignore any VMA policy installed on the virtual
	address range backed by the shared file mapping.  Rather,
	address range backed by the shared file mapping.  Rather,
@@ -389,7 +396,10 @@ follows:
   or by prefaulting the entire shared memory region into memory and locking
   or by prefaulting the entire shared memory region into memory and locking
   it down.  However, this might not be appropriate for all applications.
   it down.  However, this might not be appropriate for all applications.


.. _memory_policy_apis:

Memory Policy APIs
Memory Policy APIs
==================


Linux supports 3 system calls for controlling memory policy.  These 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
always affect only the calling task, the calling task's address space, or