[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240318132848.82686-4-aravinda.prasad@intel.com>
Date: Mon, 18 Mar 2024 18:58:48 +0530
From: Aravinda Prasad <aravinda.prasad@...el.com>
To: damon@...ts.linux.dev,
linux-mm@...ck.org,
sj@...nel.org,
linux-kernel@...r.kernel.org
Cc: aravinda.prasad@...el.com,
s2322819@...ac.uk,
sandeep4.kumar@...el.com,
ying.huang@...el.com,
dave.hansen@...el.com,
dan.j.williams@...el.com,
sreenivas.subramoney@...el.com,
antti.kervinen@...el.com,
alexander.kanevskiy@...el.com
Subject: [PATCH v2 3/3] mm/damon: documentation updates
This patch updates the kernel documentation.
Signed-off-by: Aravinda Prasad <aravinda.prasad@...el.com>
---
Documentation/mm/damon/design.rst | 42 +++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst
index 5620aab9b385..59014ecbb551 100644
--- a/Documentation/mm/damon/design.rst
+++ b/Documentation/mm/damon/design.rst
@@ -139,6 +139,48 @@ the interference is the responsibility of sysadmins. However, it solves the
conflict with the reclaim logic using ``PG_idle`` and ``PG_young`` page flags,
as Idle page tracking does.
+Profiling enhancement for virtual address space
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For virtual address space tracking, relying on checking Accessed bit(s) only
+at the leaf level of the page table is inefficient. Hardware architectures
+have supported Accessed bit(s) at all levels of the page table tree by
+updating them during the page table walk. Hence, DAMON dynamically
+profiles different levels (PMD/PUD/P4D) of a multi-level page table tree.
+
+DAMON leverages the following key insight: a data page that is accessed
+should also have the Accessed bit set at PMD, PUD, P4D, and PGD entry.
+Similarly, if the Accessed bit in a PGD entry (or a PUD/PMD entry) is
+not set, then none of the data pages under the PGD entry (or PUD/PMD
+entry) subtree are accessed. DAMON profiles Accessed bits at the highest
+possible level of the page table tree to identify the regions that are
+accessed.
+
+For example, consider a region and the sampling address (SA) in the below
+figure. The address range of a PUD entry corresponding to SA is within
+region bounds and hence PUD is picked for checking and setting the
+Accessed bits. However, this not true if P4D is picked for profiling.
+Hence in this case PUD is the highest possible level that can be picked
+for profiling.
+ .......
+ + P4D +
+ .......
+ / \
+ / \
+ / \
+ / \
+ / \
+ / ....... \
+ / + PUD + \
+ / ....... \
+ / / \ \
+- - - - - +-----*---*--+====+-*------+- -*- - -
+ + # SA # +
+ + # # +
+- - - - - +------------+====+--------+- - - - -
+
+ | ----- DAMON region ------|
+
Core Logics
===========
--
2.21.3
Powered by blists - more mailing lists