From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: William Lee Irwin III <wli@holomorphy.com>,
Matt Mackall <mpm@selenic.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/13] maps: pagemap, kpagemap, and related cleanups
Date: Fri, 13 Apr 2007 13:40:08 +1000 [thread overview]
Message-ID: <461EFB98.8050408@yahoo.com.au> (raw)
In-Reply-To: <20070412193255.62a0b8ed.akpm@linux-foundation.org>
Andrew Morton wrote:
> On Fri, 13 Apr 2007 12:18:56 +1000 Nick Piggin <nickpiggin@yahoo.com.au> wrote:
>
>
>>>I guess one could generate an answer to the static question with systemtap,
>>>by accumulating running counts across the application lifetime and then
>>>snapshotting them. Sounds hard though.
>>
>>Can't you just traverse arbitrary kernel data structures at a given point
>>in time, exactly like the /proc/ call is doing?
>
>
> Do a full pagetable walk, with all the associated locking from within
> a systemtap script? I'd be surprised. Maybe if it's mostly hand-coded
> in C, perhaps. Then you just end up with the same thing, don't you?
And my problem isn't with the hardcoded pagetable walker. Yeah, we'd
probably still keep the pagetable callback walker thingy with Matt's
associated cleanups (and my subsequent ones to clean it up more and
move it to mm/): there are other in-kernel users for that anyway.
The point is the proc API, and exposing random little parts of deep
kernel internals that some people happen to find useful at the time.
(which is why we have an incredible proliferation of these things).
With systemtap scripts, you could walk pagetables and print *the exact
page information you want*, or you could walk pfns, or LRU, or page_tree,
or walk the page tree then the rmap structures. And you can selectively
cull out items you don't care about if you only care about a subset of
items, based on arbitrary criteria. And you can most likely do all that
more efficiently than with a conglomeration of various /proc files
(assuming they even provide what you want in the first place).
--
SUSE Labs, Novell Inc.
next prev parent reply other threads:[~2007-04-13 3:40 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-04 2:43 [PATCH 0/13] maps: pagemap, kpagemap, and related cleanups Matt Mackall
2007-04-04 2:43 ` [PATCH 1/13] maps: Uninline some functions in the page walker Matt Mackall
2007-04-04 2:43 ` [PATCH 2/13] maps: Eliminate the pmd_walker struct " Matt Mackall
2007-04-04 2:43 ` [PATCH 3/13] maps: Remove vma from args " Matt Mackall
2007-04-04 2:43 ` [PATCH 4/13] maps: Propagate errors from callback in " Matt Mackall
2007-04-04 2:43 ` [PATCH 5/13] maps: Add callbacks for each level to " Matt Mackall
2007-04-04 2:43 ` [PATCH 6/13] maps: Move the page walker code to lib/ Matt Mackall
2007-04-04 3:51 ` Nick Piggin
2007-04-04 5:08 ` Matt Mackall
2007-04-04 5:50 ` Nick Piggin
2007-04-04 21:48 ` Matt Mackall
2007-04-05 1:32 ` Nick Piggin
2007-04-05 1:50 ` Nick Piggin
2007-04-04 2:43 ` [PATCH 7/13] maps: Simplify interdependence of /proc/pid/maps and smaps Matt Mackall
2007-04-04 2:43 ` [PATCH 8/13] maps: Move clear_refs code to task_mmu.c Matt Mackall
2007-04-04 2:43 ` [PATCH 9/13] maps: Regroup task_mmu by interface Matt Mackall
2007-04-04 2:43 ` [PATCH 10/13] maps: Make /proc/pid/smaps optional under CONFIG_EMBEDDED Matt Mackall
2007-04-04 2:43 ` [PATCH 11/13] maps: Make /proc/pid/clear_refs option " Matt Mackall
2007-04-04 6:22 ` David Rientjes
2007-04-04 2:43 ` [PATCH 12/13] maps: Add /proc/pid/pagemap interface Matt Mackall
2007-04-04 11:18 ` Nikita Danilov
2007-04-04 16:32 ` Matt Mackall
2007-04-04 18:03 ` Nikita Danilov
2007-04-04 21:59 ` Matt Mackall
2007-04-04 2:43 ` [PATCH 13/13] maps: Add /proc/kpagemap interface Matt Mackall
2007-04-12 23:10 ` [PATCH 0/13] maps: pagemap, kpagemap, and related cleanups William Lee Irwin III
2007-04-12 23:32 ` Andrew Morton
2007-04-12 23:42 ` William Lee Irwin III
2007-04-13 0:25 ` Nick Piggin
2007-04-13 0:15 ` Nick Piggin
2007-04-13 0:25 ` Matt Mackall
2007-04-13 1:01 ` Nick Piggin
2007-04-13 1:38 ` Matt Mackall
2007-04-13 2:11 ` Nick Piggin
2007-04-13 0:42 ` Andrew Morton
2007-04-13 1:14 ` Nick Piggin
2007-04-13 1:22 ` Andrew Morton
2007-04-13 1:42 ` Nick Piggin
2007-04-13 1:57 ` Matt Mackall
2007-04-13 2:21 ` Nick Piggin
2007-04-13 2:23 ` Matt Mackall
2007-04-13 2:54 ` Nick Piggin
2007-04-13 12:24 ` Ananth N Mavinakayanahalli
2007-04-14 8:13 ` Maneesh Soni
2007-04-13 1:57 ` Andrew Morton
2007-04-13 2:05 ` Matt Mackall
2007-04-13 2:29 ` Nick Piggin
2007-04-13 2:18 ` Nick Piggin
2007-04-13 2:32 ` Andrew Morton
2007-04-13 2:50 ` Nick Piggin
2007-04-13 3:10 ` Nick Piggin
2007-04-13 6:53 ` William Lee Irwin III
2007-04-13 7:05 ` Nick Piggin
2007-04-13 7:51 ` Christoph Hellwig
2007-04-13 8:03 ` Nick Piggin
2007-04-13 8:13 ` Christoph Hellwig
2007-04-13 8:25 ` Nick Piggin
2007-04-13 9:46 ` Christoph Hellwig
2007-04-13 21:17 ` Frank Ch. Eigler
2007-04-16 10:59 ` Christoph Hellwig
2007-04-16 21:36 ` Andi Kleen
2007-04-16 21:01 ` Frank Ch. Eigler
2007-04-13 8:15 ` William Lee Irwin III
2007-04-13 12:13 ` Ananth N Mavinakayanahalli
2007-04-13 12:46 ` Nick Piggin
2007-04-13 3:40 ` Nick Piggin [this message]
2007-04-13 6:55 ` William Lee Irwin III
2007-04-13 7:03 ` Nick Piggin
2007-04-13 7:08 ` William Lee Irwin III
2007-04-13 14:08 ` Theodore Tso
2007-04-16 11:00 ` Christoph Hellwig
2007-04-13 17:13 ` Matt Mackall
2007-04-13 16:24 ` Matt Mackall
2007-04-13 17:03 ` Andrew Morton
2007-04-13 17:24 ` Matt Mackall
2007-04-13 17:58 ` Andrew Morton
2007-04-13 0:15 ` Matt Mackall
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=461EFB98.8050408@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpm@selenic.com \
--cc=wli@holomorphy.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox