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