Thread (21 messages) 21 messages, 2 authors, 2015-05-12

Re: [PATCH v3 3/3] proc: add kpageidle file

From: Vladimir Davydov <hidden>
Date: 2015-04-29 08:32:08
Also in: linux-api, linux-mm, lkml

On Wed, Apr 29, 2015 at 01:57:59PM +0900, Minchan Kim wrote:
On Tue, Apr 28, 2015 at 03:24:42PM +0300, Vladimir Davydov wrote:
quoted
@@ -69,6 +69,14 @@ There are four components to pagemap:
    memory cgroup each page is charged to, indexed by PFN. Only available when
    CONFIG_MEMCG is set.
 
+ * /proc/kpageidle.  For each page this file contains a 64-bit number, which
+   equals 1 if the page is idle or 0 otherwise, indexed by PFN. A page is
+   considered idle if it has not been accessed since it was marked idle. To
+   mark a page idle one should write 1 to this file at the offset corresponding
+   to the page. Only user memory pages can be marked idle, for other page types
+   input is silently ignored. Writing to this file beyond max PFN results in
+   the ENXIO error. Only available when CONFIG_IDLE_PAGE_TRACKING is set.
+
How about using kpageflags for reading part?

I mean PG_idle is one of the page flags and we already have a feature to
parse of each PFN flag so we could reuse existing feature for reading
idleness.
Reading PG_idle implies clearing all pte references to make sure the
page was not referenced via a pte. This means that exporting it via
/proc/kpageflags would increase the cost of reading this file, even for
users that don't care about PG_idle. I'm not sure all users of
/proc/kpageflags will be fine with it.

Thanks,
Vladimir
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help