[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190813150450.GN17933@dhcp22.suse.cz>
Date: Tue, 13 Aug 2019 17:04:50 +0200
From: Michal Hocko <mhocko@...nel.org>
To: "Joel Fernandes (Google)" <joel@...lfernandes.org>
Cc: linux-kernel@...r.kernel.org, Minchan Kim <minchan@...nel.org>,
Alexey Dobriyan <adobriyan@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Borislav Petkov <bp@...en8.de>,
Brendan Gregg <bgregg@...flix.com>,
Catalin Marinas <catalin.marinas@....com>,
Christian Hansen <chansen3@...co.com>, dancol@...gle.com,
fmayer@...gle.com, "H. Peter Anvin" <hpa@...or.com>,
Ingo Molnar <mingo@...hat.com>, joelaf@...gle.com,
Jonathan Corbet <corbet@....net>,
Kees Cook <keescook@...omium.org>, kernel-team@...roid.com,
linux-api@...r.kernel.org, linux-doc@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-mm@...ck.org,
Mike Rapoport <rppt@...ux.ibm.com>, namhyung@...gle.com,
paulmck@...ux.ibm.com, Robin Murphy <robin.murphy@....com>,
Roman Gushchin <guro@...com>,
Stephen Rothwell <sfr@...b.auug.org.au>, surenb@...gle.com,
Thomas Gleixner <tglx@...utronix.de>, tkjos@...gle.com,
Vladimir Davydov <vdavydov.dev@...il.com>,
Vlastimil Babka <vbabka@...e.cz>, Will Deacon <will@...nel.org>
Subject: Re: [PATCH v5 2/6] mm/page_idle: Add support for handling swapped
PG_Idle pages
On Wed 07-08-19 13:15:55, Joel Fernandes (Google) wrote:
> Idle page tracking currently does not work well in the following
> scenario:
> 1. mark page-A idle which was present at that time.
> 2. run workload
> 3. page-A is not touched by workload
> 4. *sudden* memory pressure happen so finally page A is finally swapped out
> 5. now see the page A - it appears as if it was accessed (pte unmapped
> so idle bit not set in output) - but it's incorrect.
>
> To fix this, we store the idle information into a new idle bit of the
> swap PTE during swapping of anonymous pages.
>
> Also in the future, madvise extensions will allow a system process
> manager (like Android's ActivityManager) to swap pages out of a process
> that it knows will be cold. To an external process like a heap profiler
> that is doing idle tracking on another process, this procedure will
> interfere with the idle page tracking similar to the above steps.
This could be solved by checking the !present/swapped out pages
right? Whoever decided to put the page out to the swap just made it
idle effectively. So the monitor can make some educated guess for
tracking. If that is fundamentally not possible then please describe
why.
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists