aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Rapoport <[email protected]>2018-03-21 21:22:18 +0200
committerJonathan Corbet <[email protected]>2018-04-16 14:18:11 -0600
commitd04f9f5a78b836cc51f8000e2049f2709c0b61f6 (patch)
tree1c0548b753eb90d86d35cb49f90aec17c956047d
parent438b8e24d1766cce644dc2a909fd925e2fcb4d9e (diff)
docs/vm: balance: convert to ReST format
Signed-off-by: Mike Rapoport <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
-rw-r--r--Documentation/vm/balance15
1 files changed, 11 insertions, 4 deletions
diff --git a/Documentation/vm/balance b/Documentation/vm/balance
index 964595481af6..6a1fadf3e173 100644
--- a/Documentation/vm/balance
+++ b/Documentation/vm/balance
@@ -1,3 +1,9 @@
+.. _balance:
+
+================
+Memory Balancing
+================
+
Started Jan 2000 by Kanoj Sarcar <[email protected]>
Memory balancing is needed for !__GFP_ATOMIC and !__GFP_KSWAPD_RECLAIM as
@@ -62,11 +68,11 @@ for non-sleepable allocations. Second, the HIGHMEM zone is also balanced,
so as to give a fighting chance for replace_with_highmem() to get a
HIGHMEM page, as well as to ensure that HIGHMEM allocations do not
fall back into regular zone. This also makes sure that HIGHMEM pages
-are not leaked (for example, in situations where a HIGHMEM page is in
+are not leaked (for example, in situations where a HIGHMEM page is in
the swapcache but is not being used by anyone)
kswapd also needs to know about the zones it should balance. kswapd is
-primarily needed in a situation where balancing can not be done,
+primarily needed in a situation where balancing can not be done,
probably because all allocation requests are coming from intr context
and all process contexts are sleeping. For 2.3, kswapd does not really
need to balance the highmem zone, since intr context does not request
@@ -89,7 +95,8 @@ pages is below watermark[WMARK_LOW]; in which case zone_wake_kswapd is also set.
(Good) Ideas that I have heard:
+
1. Dynamic experience should influence balancing: number of failed requests
-for a zone can be tracked and fed into the balancing scheme ([email protected])
+ for a zone can be tracked and fed into the balancing scheme ([email protected])
2. Implement a replace_with_highmem()-like replace_with_regular() to preserve
-dma pages. ([email protected])
+ dma pages. ([email protected])