From: Matt Mackall <mpm@selenic.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: dave@linux.vnet.ibm.com, hans.rosenfeld@amd.com,
linux-mm@kvack.org, hugh@veritas.com,
Rik van Riel <riel@redhat.com>
Subject: Re: [v4][PATCH 2/2] fix large pages in pagemap
Date: Wed, 11 Jun 2008 15:21:15 -0500 [thread overview]
Message-ID: <1213215675.20045.119.camel@calx> (raw)
In-Reply-To: <20080611131108.61389481.akpm@linux-foundation.org>
On Wed, 2008-06-11 at 13:11 -0700, Andrew Morton wrote:
> On Wed, 11 Jun 2008 14:53:00 -0500
> Matt Mackall <mpm@selenic.com> wrote:
>
> > [adding Hugh to the cc:]
> >
> > On Wed, 2008-06-11 at 12:37 -0700, Andrew Morton wrote:
> > > On Wed, 11 Jun 2008 11:02:31 -0700
> > > Dave Hansen <dave@linux.vnet.ibm.com> wrote:
> > >
> > > >
> > > > We were walking right into huge page areas in the pagemap
> > > > walker, and calling the pmds pmd_bad() and clearing them.
> > > >
> > > > That leaked huge pages. Bad.
> > > >
> > > > This patch at least works around that for now. It ignores
> > > > huge pages in the pagemap walker for the time being, and
> > > > won't leak those pages.
> > > >
> > >
> > > I don't get it. Why can't we just stick a
> > >
> > > if (pmd_huge(pmd))
> > > continue;
> > >
> > > into pagemap_pte_range()? Or something like that.
> >
> > That's certainly what you'd hope to be able to do, yes.
> >
> > If I recall the earlier discussion, some arches with huge pages can only
> > identify them via a VMA. Obviously, any arch with hardware that walks
> > our pagetables directly must be able to identify huge pages directly
> > from those tables, but I think PPC and a couple others that don't have
> > hardware TLB fill fail to store such a bit in the tables at all.
>
> Really? There already a couple of pmd_huge() tests in mm/memory.c and
> Rik's access_process_vm-device-memory-infrastructure.patch adds another
> one.
Quoting Hugh:
i>>?A pmd_huge(*pmd) test is tempting, but it only ever says "yes" on x86:
we've carefully left it undefined what happens to the pgd/pud/pmd/pte
hierarchy in the general arch case, once you're amongst hugepages.
--
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:[~2008-06-11 20:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-11 18:02 [v4][PATCH 1/2] pass mm into pagewalkers Dave Hansen
2008-06-11 18:02 ` [v4][PATCH 2/2] fix large pages in pagemap Dave Hansen
2008-06-11 19:37 ` Andrew Morton
2008-06-11 19:53 ` Matt Mackall
2008-06-11 20:11 ` Andrew Morton
2008-06-11 20:21 ` Matt Mackall [this message]
2008-06-11 20:34 ` Dave Hansen
2008-06-11 20:52 ` Andrew Morton
2008-06-11 21:01 ` Rik van Riel
2008-06-11 21:23 ` Dave Hansen
2008-06-11 22:37 ` Matt Mackall
2008-06-12 21:36 ` Hugh Dickins
2008-06-12 22:35 ` Matt Mackall
2008-06-11 20:15 ` Dave Hansen
2008-06-11 19:35 ` [v4][PATCH 1/2] pass mm into pagewalkers Andrew Morton
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=1213215675.20045.119.camel@calx \
--to=mpm@selenic.com \
--cc=akpm@linux-foundation.org \
--cc=dave@linux.vnet.ibm.com \
--cc=hans.rosenfeld@amd.com \
--cc=hugh@veritas.com \
--cc=linux-mm@kvack.org \
--cc=riel@redhat.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.