From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joel Fernandes Subject: Re: [PATCH v5 1/6] mm/page_idle: Add per-pid idle page tracking using virtual index Date: Wed, 7 Aug 2019 16:45:30 -0400 Message-ID: <20190807204530.GB90900@google.com> References: <20190807171559.182301-1-joel@joelfernandes.org> <20190807130402.49c9ea8bf144d2f83bfeb353@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20190807130402.49c9ea8bf144d2f83bfeb353@linux-foundation.org> Sender: linux-kernel-owner@vger.kernel.org To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Alexey Dobriyan , Borislav Petkov , Brendan Gregg , Catalin Marinas , Christian Hansen , dancol@google.com, fmayer@google.com, "H. Peter Anvin" , Ingo Molnar , Jonathan Corbet , Kees Cook , kernel-team@android.com, linux-api@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Michal Hocko , Mike Rapoport , minchan@kernel.org, namhyung@google.com, paulmck@linux.ibm.com, Robin Murphy , Roman Gushchin , Stephen Rothwell List-Id: linux-api@vger.kernel.org On Wed, Aug 07, 2019 at 01:04:02PM -0700, Andrew Morton wrote: > On Wed, 7 Aug 2019 13:15:54 -0400 "Joel Fernandes (Google)" wrote: > > > In Android, we are using this for the heap profiler (heapprofd) which > > profiles and pin points code paths which allocates and leaves memory > > idle for long periods of time. This method solves the security issue > > with userspace learning the PFN, and while at it is also shown to yield > > better results than the pagemap lookup, the theory being that the window > > where the address space can change is reduced by eliminating the > > intermediate pagemap look up stage. In virtual address indexing, the > > process's mmap_sem is held for the duration of the access. > > So is heapprofd a developer-only thing? Is heapprofd included in > end-user android loads? If not then, again, wouldn't it be better to > make the feature Kconfigurable so that Android developers can enable it > during development then disable it for production kernels? Almost all of this code is already configurable with CONFIG_IDLE_PAGE_TRACKING. If you disable it, then all of this code gets disabled. Or are you referring to something else that needs to be made configurable? thanks, - Joel