[Fwd: [RFC][PATCH] flush_hash_page]

David Gibson david at gibson.dropbear.id.au
Wed Sep 15 11:25:21 EST 2004


On Mon, Sep 13, 2004 at 06:01:22PM -0500, Joel Schopp wrote:
> >First of all, if you do that, doesn't it assume that all ptes that are
> >passed in are large pages?  I don't think that's correct.  
> >
> >Also, think about how huge pages are implemented in Linux.  Do huge
> >pages really even get Linux ptes, or just pmds that act like ptes?  
> 
> It appears that large pages only have pmds (as evidenced by hugepte_t 
> being an int and not a long among other things).  It turns out there 
> already is a flush_hash_hugepage that does what I am trying to do. 
> Figuring out which to call isn't too bad either. 
> if(in_hugepage_area(context, ea)) should do the trick.

Yes, that should do it.

> Might be nice to clean up flush_hash_page to totally remove the large 
> variable and associated code, and add a comment about flush_hash_hugepage.

Yes indeed - I've thought about doing that several times.  However,
I've been thinking about reworking the hugepage stuff to use normal
pte_t entries in its own set of pagetables, rather than special pmd_t
entries.  In that case it would probably make sense to make
flush_hash_page() support hugepages as well.

-- 
David Gibson			| For every complex problem there is a
david AT gibson.dropbear.id.au	| solution which is simple, neat and
				| wrong.
http://www.ozlabs.org/people/dgibson



More information about the Linuxppc64-dev mailing list