[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190813153659.GD14622@google.com>
Date: Tue, 13 Aug 2019 11:36:59 -0400
From: Joel Fernandes <joel@...lfernandes.org>
To: Michal Hocko <mhocko@...nel.org>, khlebnikov@...dex-team.ru
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>,
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 Tue, Aug 13, 2019 at 05:04:50PM +0200, Michal Hocko wrote:
> 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.
But the monitoring process (profiler) does not have control over the 'whoever
made it effectively idle' process.
As you said it will be a guess, it will not be accurate.
I am curious what is your concern with using a bit in the swap PTE?
(Adding Konstantin as well since we may be interested in this, since we also
suggested this idea).
thanks,
- Joel
Powered by blists - more mailing lists