Re: [PATCH v3 2/2] doc: Update documentation for page_idle virtual address indexing
From: Joel Fernandes <hidden>
Date: 2019-07-26 20:26:57
Also in:
linux-doc, linux-fsdevel, linux-mm, lkml
On Fri, Jul 26, 2019 at 01:17:10PM -0700, sspatil@google.com wrote:
Thanks Joel, just a couple of nits for the doc inline below. Other than that, Reviewed-by: Sandeep Patil <redacted>
Thanks!
I'll plan on making changes to Android to use this instead of the pagemap + page_idle. I think it will also be considerably faster.
Cool, glad to know.
On Fri, Jul 26, 2019 at 11:23:19AM -0400, Joel Fernandes (Google) wrote:quoted
This patch updates the documentation with the new page_idle tracking feature which uses virtual address indexing. Signed-off-by: Joel Fernandes (Google) <redacted> --- .../admin-guide/mm/idle_page_tracking.rst | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-)diff --git a/Documentation/admin-guide/mm/idle_page_tracking.rst b/Documentation/admin-guide/mm/idle_page_tracking.rst index df9394fb39c2..1eeac78c94a7 100644 --- a/Documentation/admin-guide/mm/idle_page_tracking.rst +++ b/Documentation/admin-guide/mm/idle_page_tracking.rst@@ -19,10 +19,14 @@ It is enabled by CONFIG_IDLE_PAGE_TRACKING=y. User API ======== +There are 2 ways to access the idle page tracking API. One uses physical +address indexing, another uses a simpler virtual address indexing scheme. -The idle page tracking API is located at ``/sys/kernel/mm/page_idle``. -Currently, it consists of the only read-write file, -``/sys/kernel/mm/page_idle/bitmap``. +Physical address indexing +------------------------- +The idle page tracking API for physical address indexing using page frame +numbers (PFN) is located at ``/sys/kernel/mm/page_idle``. Currently, it +consists of the only read-write file, ``/sys/kernel/mm/page_idle/bitmap``. The file implements a bitmap where each bit corresponds to a memory page. The bitmap is represented by an array of 8-byte integers, and the page at PFN #i is@@ -74,6 +78,31 @@ See :ref:`Documentation/admin-guide/mm/pagemap.rst <pagemap>` for more information about ``/proc/pid/pagemap``, ``/proc/kpageflags``, and ``/proc/kpagecgroup``. +Virtual address indexing +------------------------ +The idle page tracking API for virtual address indexing using virtual page +frame numbers (VFN) is located at ``/proc/<pid>/page_idle``. It is a bitmap +that follows the same semantics as ``/sys/kernel/mm/page_idle/bitmap`` +except that it uses virtual instead of physical frame numbers. + +This idle page tracking API does not need deal with PFN so it does not requires/need//quoted
+prior lookups of ``pagemap`` in order to find if page is idle or not. This iss/in order to find if page is idle or not//
Fixed both, thank you! Will send out update soon. thanks, - Joel