From: Ingo Molnar <mingo@kernel.org>
To: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Colin Cross <ccross@android.com>,
LKML <linux-kernel@vger.kernel.org>,
Kyungmin Park <kmpark@infradead.org>,
Christoph Hellwig <hch@infradead.org>,
John Stultz <john.stultz@linaro.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Dave Hansen <dave.hansen@intel.com>,
Rob Landley <rob@landley.net>,
Andrew Morton <akpm@linux-foundation.org>,
Cyrill Gorcunov <gorcunov@openvz.org>,
David Rientjes <rientjes@google.com>,
Davidlohr Bueso <dave@gnu.org>, Kees Cook <keescook@chromium.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Hugh Dickins <hughd@google.com>, Mel Gorman <mgorman@suse.de>,
Michel Lespinasse <walken@google.com>,
Rik van Riel <riel@redhat.com>,
Konstantin Khlebnikov <khlebnikov@openvz.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
David Howells <dhowells@redhat.com>,
Arnd Bergmann <arnd@arndb.de>, Dave Jones <davej@redhat.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Oleg Nesterov <oleg@redhat.com>, Shaohua Li <shli@fusionio.com>,
Sasha Levin <sasha.levin@oracle.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Johannes Weiner <hannes@cmpxchg.org>,
"list@ebiederm.org:DOCUMENTATION" <linux-doc@vger.kernel.org>,
"list@ebiederm.org:MEMORY MANAGEMENT" <linux-mm@kvack.org>
Subject: Re: [PATCH 2/2] mm: add a field to store names for private anonymous memory
Date: Fri, 12 Jul 2013 11:26:47 +0200 [thread overview]
Message-ID: <20130712092647.GB5315@gmail.com> (raw)
In-Reply-To: <51DFC6AE.3020504@kernel.org>
* Pekka Enberg <penberg@kernel.org> wrote:
> > Once the DSO is full -- equal to your previous anon-exec region being
> > full, you simply mmap a new DSO.
> >
> > Wouldn't that work?
>
> Okay and then whenever 'perf top' sees a non-mapped IP it reloads the
> DSO (if it has changed)?
>
> Yeah, I could see that working. It doesn't solve the problems Ingo
> mentioned which are also important, though.
Well, the JIT profiling case is really special - there we are constructing
code and a symbol table on the fly. Talking to perf via a temporary file
sounds unavoidable (and thus proper), because symbol information on that
level is not something the kernel knows (or should know) about.
I was arguing primarily in the context of the original patch: naming
allocator heaps. Today the kernel makes a few educated guesses about what
each memory area is about, in /proc/*/maps:
34511ac000-34511b0000 r--p 001ac000 08:03 1706770 /usr/lib64/libc-2.15.so
34511b0000-34511b2000 rw-p 001b0000 08:03 1706770 /usr/lib64/libc-2.15.so
34511b2000-34511b7000 rw-p 00000000 00:00 0
7f5bdff94000-7f5be63c1000 r--p 00000000 08:03 1710237 /usr/lib/locale/locale-archive
7f5be63c1000-7f5be63c4000 rw-p 00000000 00:00 0
7f5be63d6000-7f5be63d7000 rw-p 00000000 00:00 0
7fff7677f000-7fff767a0000 rw-p 00000000 00:00 0 [stack]
7fff767dd000-7fff767df000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
... but on any larger app there's lots of anon mmap areas that are ...
anonymous! ;-) User-space could help out a bit by naming them. It's not
like there's many heaps, so the performance overhead aspect is minimal.
In the JIT case we have something different, a 'file IO' abstraction
really: the JIT is generating (writing) new code and associated symbol
records. So using temporary files there is natural and proper and most of
the disadvantages I list don't apply because the sheer volume of new code
generated dillutes the overhead of open()/close(), plus we do need some
space for those symbols so a JIT cannot really expect to be able to run in
a pure readonly environment.
In the allocator/heap case we have a _memory_ abstraction it's just that
we also want to name the heap minimally.
For any finer than vma granularity user-space attributes the kernel cannot
help much, it does not know (and probably should not know) about all
user-space data structures.
Right now I don't see any good way to merge the two. (might be due to lack
of imagination)
Thanks,
Ingo
--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2013-07-12 9:26 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-12 2:34 [PATCH 1/2] mm: rearrange madvise code to allow for reuse Colin Cross
2013-07-12 2:34 ` [PATCH 2/2] mm: add a field to store names for private anonymous memory Colin Cross
2013-07-12 5:39 ` Pekka Enberg
2013-07-12 8:13 ` Peter Zijlstra
2013-07-12 8:17 ` Peter Zijlstra
2013-07-12 8:44 ` Ingo Molnar
2013-07-12 8:55 ` Pekka Enberg
2013-07-12 9:00 ` Peter Zijlstra
2013-07-12 9:15 ` Ingo Molnar
2013-07-12 9:27 ` Peter Zijlstra
2013-07-12 9:40 ` Ingo Molnar
2013-07-12 9:49 ` Peter Zijlstra
2013-07-12 10:01 ` Ingo Molnar
2013-07-12 20:51 ` Colin Cross
2013-09-26 1:24 ` Colin Cross
2013-07-12 8:21 ` Pekka Enberg
2013-07-12 8:55 ` Peter Zijlstra
2013-07-12 9:04 ` Pekka Enberg
2013-07-12 9:14 ` Peter Zijlstra
2013-07-12 9:28 ` Ingo Molnar
2013-07-12 9:26 ` Ingo Molnar [this message]
2013-07-12 9:38 ` Pekka Enberg
2013-07-12 9:45 ` Ingo Molnar
2013-07-12 10:09 ` Peter Zijlstra
2013-07-12 5:43 ` Pekka Enberg
2013-07-12 6:18 ` Colin Cross
2013-07-12 7:03 ` Pekka Enberg
2013-07-12 6:36 ` Dave Hansen
2013-07-12 6:42 ` Colin Cross
2013-07-14 14:11 ` Oleg Nesterov
2013-07-14 19:27 ` Colin Cross
2013-07-14 14:17 ` Oleg Nesterov
2013-07-14 19:34 ` Colin Cross
-- strict thread matches above, loose matches on Subject: below --
2013-10-15 1:31 [PATCHv3 1/2] mm: rearrange madvise code to allow for reuse Colin Cross
2013-10-15 1:31 ` [PATCH 2/2] mm: add a field to store names for private anonymous memory Colin Cross
2013-10-15 1:31 ` Colin Cross
2013-10-15 21:21 ` Andrew Morton
2013-10-15 21:32 ` Dave Hansen
2013-10-15 21:47 ` Colin Cross
2013-10-15 21:47 ` Colin Cross
2013-10-16 0:33 ` Minchan Kim
2013-10-16 20:00 ` Colin Cross
2013-10-16 20:34 ` Dave Hansen
2013-10-16 20:41 ` Colin Cross
2013-10-17 2:47 ` Minchan Kim
2013-10-30 21:15 ` Colin Cross
2013-11-01 1:30 ` Minchan Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130712092647.GB5315@gmail.com \
--to=mingo@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=ccross@android.com \
--cc=dave.hansen@intel.com \
--cc=dave@gnu.org \
--cc=davej@redhat.com \
--cc=dhowells@redhat.com \
--cc=ebiederm@xmission.com \
--cc=gorcunov@openvz.org \
--cc=hannes@cmpxchg.org \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=john.stultz@linaro.org \
--cc=keescook@chromium.org \
--cc=khlebnikov@openvz.org \
--cc=kmpark@infradead.org \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=penberg@kernel.org \
--cc=peterz@infradead.org \
--cc=rafael.j.wysocki@intel.com \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=rob@landley.net \
--cc=sasha.levin@oracle.com \
--cc=shli@fusionio.com \
--cc=viro@zeniv.linux.org.uk \
--cc=walken@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.