[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1210277787.7905.81.camel@nimitz.home.sr71.net>
Date: Thu, 08 May 2008 13:16:27 -0700
From: Dave Hansen <dave@...ux.vnet.ibm.com>
To: Hans Rosenfeld <hans.rosenfeld@....com>
Cc: Hugh Dickins <hugh@...itas.com>,
Nishanth Aravamudan <nacc@...ibm.com>,
Ingo Molnar <mingo@...e.hu>,
Jeff Chua <jeff.chua.linux@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Gabriel C <nix.or.die@...glemail.com>,
Arjan van de Ven <arjan@...ux.intel.com>,
Matt Mackall <mpm@...enic.com>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [PATCH] x86: fix PAE pmd_bad bootup warning
On Thu, 2008-05-08 at 22:02 +0200, Hans Rosenfeld wrote:
> > 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.
>
> AFAIK the reason for this is that pmd_huge() and pud_huge() are
> completely x86-specific. When I looked at the huge page support for
> other archs in Linux the last time, all of them marked hugepages with
> some page size bits in the PTE, using several PTEs for a single huge
> page. So for anything but x86, the pgd/pud/pmd/pte hierarchy should work
> for hugepages, too.
powerpc kinda puts them in pmds, although Adam calls them ptes in his
diagram. See Adam's very nice pictures here:
http://linux-mm.org/PageTableStructure
In the arch code, they have a concept of "slices" for each mm that you
can look up the page size for. That's what they use when the mm/vmas
aren't around. Their pmd_ts really are just pointers. I don't think
they have any flags in them at all like _PAGE_PSE.
They just do a special pagetable walk instead of looking *at* the
pagetables.
-- Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists