Thread (17 messages) 17 messages, 4 authors, 2008-03-05

Re: [RFC][PATCH] make /proc/pid/pagemap work with huge pages and return page size

From: Matt Mackall <hidden>
Date: 2008-02-29 22:47:15

On Fri, 2008-02-29 at 14:30 -0800, Dave Hansen wrote:
On Thu, 2008-02-28 at 17:15 -0800, Matt Mackall wrote:
quoted
quoted
The only issue is that this is *after* the code has decided that a
particular virtual area is for huge pages.  The best arch-generic
interface I know for that is: is_vm_hugetlb_page(), but that is
VMA-based.  Perhaps we should change the pagemap walk to pass the VMA
around. 
I'd rather avoid that. Requiring a VMA to poke at these things shouldn't
-really- be necessary.
Yeah, this is strictly true.  But, it also assumes that we have all of
the data about where large pages are based on the contents of the
pagetables alone.  It's possible that we can derive this, or code up a
bunch of arch-specific functions to do this, but it certainly doesn't
exist today.  I'm just not keen on going and learning about how each and
every architecture encodes hugetlb information in their pagetables. :(

The fact is that we treat pagetables in hugetlb areas completely
differently than normal pages.  All of the generic functions that deal
with pagetables magically punt over to the hugetlb code when they see a
hugetlb VMA.

I think although it isn't strictly necessary, it is going to save a ton
of work to just pass the VMAs around.
Well in any case, step 1 should be to finalize the interface. Let's
start with a single patch that does nothing but move the exported bits
around and makes room for the page shift bits. Are we agreed on what
that should look like now?

ps: my laptop died on Tuesday, so I'll be struggling to even read email
until its replacement arrives.

-- 
Mathematics is the supreme nostalgia of our time.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help