From: Matt Mackall <mpm@selenic.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>,
Andrew Morton <akpm@linux-foundation.org>,
clameter@sgi.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [QUICKLIST 0/4] Arch independent quicklists V2
Date: Tue, 13 Mar 2007 15:21:25 -0500 [thread overview]
Message-ID: <20070313202125.GO10394@waste.org> (raw)
In-Reply-To: <45F706BC.7060407@goop.org>
On Tue, Mar 13, 2007 at 01:17:00PM -0700, Jeremy Fitzhardinge wrote:
> Matt Mackall wrote:
> > On Tue, Mar 13, 2007 at 10:30:10AM -0700, Jeremy Fitzhardinge wrote:
> >
> >> Nick Piggin wrote:
> >>
> >>> However we still have to visit those to-be-unmapped parts of the page
> >>> table,
> >>> to find the pages and free them. So we still at least need to bring it
> >>> into
> >>> cache for the read... at which point, the store probably isn't a big
> >>> burden.
> >>>
> >> Why not try to find a place to stash a linklist pointer and link them
> >> all together? Saves the pulldown pagetable walk altogether.
> >>
> >
> > Because we'd need one link per mm that a page is mapped in?
> >
>
> Can pagetable pages be shared between mms? (Kernel pmds in PAE excepted.)
Ahh, I think the issue is that we have to walk the page tables to drop
the reference count of the _actual pages_ they point to. The page
tables themselves could all be put on a list or two lists (one for
PMDs, one for everything else), but that wouldn't really be a win over
just walking the tree, especially given the extra list maintenance.
Because the fan-out is large, the bulk of the work is bringing the last
layer of the tree into cache to find all the pages in the address
space. And there's really no way around that.
--
Mathematics is the supreme nostalgia of our time.
--
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:[~2007-03-13 20:21 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070313071325.4920.82870.sendpatchset@schroedinger.engr.sgi.com>
[not found] ` <20070313005334.853559ca.akpm@linux-foundation.org>
[not found] ` <45F65ADA.9010501@yahoo.com.au>
[not found] ` <20070313035250.f908a50e.akpm@linux-foundation.org>
2007-03-13 11:06 ` Nick Piggin
2007-03-13 12:15 ` Andrew Morton
2007-03-13 11:20 ` Christoph Lameter
2007-03-13 12:30 ` Andrew Morton
2007-03-15 20:23 ` Christoph Lameter
2007-03-13 11:30 ` Nick Piggin
2007-03-13 12:47 ` Andrew Morton
2007-03-13 12:01 ` Nick Piggin
2007-03-13 13:11 ` Andrew Morton
2007-03-13 12:18 ` Nick Piggin
2007-03-13 17:30 ` Jeremy Fitzhardinge
2007-03-13 20:03 ` Matt Mackall
2007-03-13 20:17 ` Jeremy Fitzhardinge
2007-03-13 20:21 ` Matt Mackall [this message]
2007-03-13 21:07 ` David Miller, Matt Mackall
2007-03-13 21:14 ` Matt Mackall
2007-03-13 21:36 ` Jeremy Fitzhardinge
2007-03-13 21:46 ` Peter Chubb
2007-03-13 21:48 ` David Miller, Matt Mackall
2007-03-14 1:12 ` William Lee Irwin III
2007-03-15 23:12 ` William Lee Irwin III
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=20070313202125.GO10394@waste.org \
--to=mpm@selenic.com \
--cc=akpm@linux-foundation.org \
--cc=clameter@sgi.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nickpiggin@yahoo.com.au \
/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