From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx180.postini.com [74.125.245.180]) by kanga.kvack.org (Postfix) with SMTP id CD9D56B0032 for ; Fri, 12 Jul 2013 01:39:18 -0400 (EDT) Received: by mail-lb0-f176.google.com with SMTP id z5so7357831lbh.35 for ; Thu, 11 Jul 2013 22:39:17 -0700 (PDT) Message-ID: <51DF9682.9040301@kernel.org> Date: Fri, 12 Jul 2013 08:39:14 +0300 From: Pekka Enberg MIME-Version: 1.0 Subject: Re: [PATCH 2/2] mm: add a field to store names for private anonymous memory References: <1373596462-27115-1-git-send-email-ccross@android.com> <1373596462-27115-2-git-send-email-ccross@android.com> In-Reply-To: <1373596462-27115-2-git-send-email-ccross@android.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Colin Cross Cc: linux-kernel@vger.kernel.org, Kyungmin Park , Christoph Hellwig , John Stultz , "Eric W. Biederman" , Dave Hansen , Rob Landley , Andrew Morton , Cyrill Gorcunov , David Rientjes , Davidlohr Bueso , Kees Cook , Al Viro , Hugh Dickins , Mel Gorman , Michel Lespinasse , Rik van Riel , Konstantin Khlebnikov , Peter Zijlstra , "Paul E. McKenney" , David Howells , Arnd Bergmann , Dave Jones , "Rafael J. Wysocki" , Oleg Nesterov , Shaohua Li , Sasha Levin , KOSAKI Motohiro , Johannes Weiner , Ingo Molnar , linux-doc@vger.kernel.org, linux-mm@kvack.org On 07/12/2013 05:34 AM, Colin Cross wrote: > Userspace processes often have multiple allocators that each do > anonymous mmaps to get memory. When examining memory usage of > individual processes or systems as a whole, it is useful to be > able to break down the various heaps that were allocated by > each layer and examine their size, RSS, and physical memory > usage. > > This patch adds a user pointer to the shared union in > vm_area_struct that points to a null terminated string inside > the user process containing a name for the vma. vmas that > point to the same address will be merged, but vmas that > point to equivalent strings at different addresses will > not be merged. > > Userspace can set the name for a region of memory by calling > prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, start, len, (unsigned long)name); > Setting the name to NULL clears it. > > The names of named anonymous vmas are shown in /proc/pid/maps > as [anon:] and in /proc/pid/smaps in a new "Name" field > that is only present for named vmas. If the userspace pointer > is no longer valid all or part of the name will be replaced > with "". > > The idea to store a userspace pointer to reduce the complexity > within mm (at the expense of the complexity of reading > /proc/pid/mem) came from Dave Hansen. This results in no > runtime overhead in the mm subsystem other than comparing > the anon_name pointers when considering vma merging. The pointer > is stored in a union with fieds that are only used on file-backed > mappings, so it does not increase memory usage. > > Signed-off-by: Colin Cross Ingo, PeterZ, is this something worthwhile for replacing our current JIT symbol hack with perf? Pekka -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org