From: Dave Hansen <haveblue@us.ibm.com>
To: Matt Mackall <mpm@selenic.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Rusty Russell <rusty@rustcorp.com.au>,
Jeremy Fitzhardinge <jeremy@goop.org>,
David Rientjes <rientjes@google.com>,
Fengguang Wu <wfg@mail.ustc.edu.cn>
Subject: Re: [PATCH 10/11] maps3: add /proc/kpagecount and /proc/kpageflags interfaces
Date: Mon, 15 Oct 2007 17:49:10 -0700 [thread overview]
Message-ID: <1192495750.6118.152.camel@localhost> (raw)
In-Reply-To: <20071016003538.GC19691@waste.org>
On Mon, 2007-10-15 at 19:35 -0500, Matt Mackall wrote:
> Perhaps we need something like:
>
> flags = page->flags;
> userflags =
> FLAG_BIT(USER_REFERENCED, flags & PG_referenced) |
> ...
>
> etc. for the flags we want to export. This will let us change to
>
> FLAG_BIT(USER_SLAB, PageSlab(page)) |
>
> if we make a virtual slab bit.
Yeah, that looks like a pretty sane scheme. Do we want to be any more
abstract about it? Perhaps instead of USER_SLAB, it should be
USER_KERNEL_INTERNAL, or USER_KERNEL_USE. The slab itself is going away
as we speak. :)
> And it shows up in grep.
>
> Unfortunately, i386 test_bit is an asm inline and not a macro so we
> can't hope for the compiler to fold up a bunch of identity bit
> mappings for us.
We could also Yeah, that looks like a pretty sane scheme. Do we want to
be any more abstract about it? Perhaps instead of USER_SLAB, it should
be USER_KERNEL_INTERNAL, or USER_KERNEL_USE. The slab itself is going
away as we speak.
For the bits that we want to export, we could also add the unoptimized
access functions for any that don't already have them:
#define __ClearPageReserved(page) __clear_bit(PG_reserved, &(page)->flags)
Anybody changing bit behavior will certainly go check all of the
callers, such as ClearPageReserved() *and* __ClearPageReserved().
-- Dave
next prev parent reply other threads:[~2007-10-16 0:49 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-15 22:25 [PATCH 0/11] maps3: pagemap monitoring v3 Matt Mackall
2007-10-15 22:25 ` [PATCH 1/11] maps3: add proportional set size accounting in smaps Matt Mackall
2007-10-15 23:36 ` David Rientjes
2007-10-16 0:18 ` Matt Mackall
2007-10-16 2:24 ` David Rientjes
2007-10-15 22:25 ` [PATCH 2/11] maps3: introduce task_size_of for all arches Matt Mackall
2007-10-15 23:45 ` David Rientjes
2007-10-16 0:36 ` Dave Hansen
2007-10-16 2:26 ` David Rientjes
2007-10-16 17:18 ` maps3: introduce task_size_of for all arches (updated v4) Dave Hansen
2007-10-16 17:25 ` David Rientjes
2007-10-15 22:26 ` [PATCH 3/11] maps3: move is_swap_pte Matt Mackall
2007-10-15 22:26 ` [PATCH 4/11] maps3: introduce a generic page walker Matt Mackall
2007-10-15 22:40 ` Jeremy Fitzhardinge
2007-10-15 23:05 ` Dave Hansen
2007-10-15 23:20 ` Jeremy Fitzhardinge
2007-10-15 23:30 ` Matt Mackall
2007-10-16 4:58 ` David Rientjes
2007-10-15 22:26 ` [PATCH 5/11] maps3: use pagewalker in clear_refs and smaps Matt Mackall
2007-10-16 5:03 ` David Rientjes
2007-10-15 22:26 ` [PATCH 6/11] maps3: simplify interdependence of maps " Matt Mackall
2007-10-15 22:26 ` [PATCH 7/11] maps3: move clear_refs code to task_mmu.c Matt Mackall
2007-10-16 5:11 ` David Rientjes
2007-10-15 22:26 ` [PATCH 8/11] maps3: regroup task_mmu by interface Matt Mackall
2007-10-15 22:26 ` [PATCH 9/11] maps3: add /proc/pid/pagemap interface Matt Mackall
2007-10-15 22:26 ` [PATCH 10/11] maps3: add /proc/kpagecount and /proc/kpageflags interfaces Matt Mackall
2007-10-15 22:48 ` Dave Hansen
2007-10-15 23:11 ` Matt Mackall
2007-10-15 23:34 ` Dave Hansen
2007-10-16 0:35 ` Matt Mackall
2007-10-16 0:49 ` Dave Hansen [this message]
2007-10-16 0:58 ` Matt Mackall
2007-10-16 1:07 ` Dave Hansen
2007-10-15 22:26 ` [PATCH 11/11] maps3: make page monitoring /proc file optional Matt Mackall
2007-10-15 22:49 ` Dave Hansen
2007-10-15 22:51 ` Jeremy Fitzhardinge
2007-10-16 0:03 ` Rusty Russell
2007-10-16 0:20 ` Matt Mackall
2007-10-16 5:25 ` David Rientjes
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=1192495750.6118.152.camel@localhost \
--to=haveblue@us.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpm@selenic.com \
--cc=rientjes@google.com \
--cc=rusty@rustcorp.com.au \
--cc=wfg@mail.ustc.edu.cn \
/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