Skip to content

Commit

Permalink
docs: cgroup-v1: replace custom note constructs with appropriate admo…
Browse files Browse the repository at this point in the history
…nition blocks

Admonition constructs on the documentation use definition lists, which
isn't fit for the purpose. Replace them with appropriate blocks:

  * Use caution:: for outdated document notice
  * hint:: for memo
  * note:: for other constructs
  * warning:: for memory reclaim

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
  • Loading branch information
Bagas Sanjaya authored and Tejun Heo committed Jan 5, 2023
1 parent 21786e5 commit 56eb276
Showing 1 changed file with 31 additions and 27 deletions.
58 changes: 31 additions & 27 deletions Documentation/admin-guide/cgroup-v1/memory.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
Memory Resource Controller
==========================

NOTE:
.. caution::
This document is hopelessly outdated and it asks for a complete
rewrite. It still contains a useful information so we are keeping it
here but make sure to check the current code if you need a deeper
understanding.

NOTE:
.. note::
The Memory Resource Controller has generically been referred to as the
memory controller in this document. Do not confuse memory controller
used here with the memory controller that is used in hardware.
Expand Down Expand Up @@ -274,12 +274,12 @@ The reclaim algorithm has not been modified for cgroups, except that
pages that are selected for reclaiming come from the per-cgroup LRU
list.

NOTE:
Reclaim does not work for the root cgroup, since we cannot set any
limits on the root cgroup.
.. note::
Reclaim does not work for the root cgroup, since we cannot set any
limits on the root cgroup.

Note2:
When panic_on_oom is set to "2", the whole system will panic.
.. note::
When panic_on_oom is set to "2", the whole system will panic.

When oom event notifier is registered, event will be delivered.
(See oom_control section)
Expand Down Expand Up @@ -367,10 +367,10 @@ U != 0, K < U:
never greater than the total memory, and freely set U at the cost of his
QoS.

WARNING:
In the current implementation, memory reclaim will NOT be
triggered for a cgroup when it hits K while staying below U, which makes
this setup impractical.
.. warning::
In the current implementation, memory reclaim will NOT be triggered for
a cgroup when it hits K while staying below U, which makes this setup
impractical.

U != 0, K >= U:
Since kmem charges will also be fed to the user counter and reclaim will be
Expand Down Expand Up @@ -405,16 +405,16 @@ Since now we're in the 0 cgroup, we can alter the memory limit::

# echo 4M > /sys/fs/cgroup/memory/0/memory.limit_in_bytes

NOTE:
We can use a suffix (k, K, m, M, g or G) to indicate values in kilo,
mega or gigabytes. (Here, Kilo, Mega, Giga are Kibibytes, Mebibytes,
Gibibytes.)
.. note::
We can use a suffix (k, K, m, M, g or G) to indicate values in kilo,
mega or gigabytes. (Here, Kilo, Mega, Giga are Kibibytes, Mebibytes,
Gibibytes.)

NOTE:
We can write "-1" to reset the ``*.limit_in_bytes(unlimited)``.
.. note::
We can write "-1" to reset the ``*.limit_in_bytes(unlimited)``.

NOTE:
We cannot set limits on the root cgroup any more.
.. note::
We cannot set limits on the root cgroup any more.

::

Expand Down Expand Up @@ -574,12 +574,12 @@ recent_scanned_anon VM internal parameter. (see mm/vmscan.c)
recent_scanned_file VM internal parameter. (see mm/vmscan.c)
========================= ========================================

Memo:
.. hint::
recent_rotated means recent frequency of LRU rotation.
recent_scanned means recent # of scans to LRU.
showing for better debug please see the code for meanings.

Note:
.. note::
Only anonymous and swap cache memory is listed as part of 'rss' stat.
This should not be confused with the true 'resident set size' or the
amount of physical memory used by the cgroup.
Expand Down Expand Up @@ -710,10 +710,11 @@ If we want to change this to 1G, we can at any time use::

# echo 1G > memory.soft_limit_in_bytes

NOTE1:
.. note::
Soft limits take effect over a long period of time, since they involve
reclaiming memory for balancing between memory cgroups
NOTE2:

.. note::
It is recommended to set the soft limit always below the hard limit,
otherwise the hard limit will take precedence.

Expand All @@ -735,17 +736,20 @@ If you want to enable it::

# echo (some positive value) > memory.move_charge_at_immigrate

Note:
.. note::
Each bits of move_charge_at_immigrate has its own meaning about what type
of charges should be moved. See 8.2 for details.
Note:

.. note::
Charges are moved only when you move mm->owner, in other words,
a leader of a thread group.
Note:

.. note::
If we cannot find enough space for the task in the destination cgroup, we
try to make space by reclaiming memory. Task migration may fail if we
cannot make enough space.
Note:

.. note::
It can take several seconds if you move charges much.

And if you want disable it again::
Expand Down

0 comments on commit 56eb276

Please sign in to comment.