On Wed, Feb 04, 2009 at 11:11:22AM -0800, Roland Dreier wrote:
Heh. Looking into the implementation, it seems that I could actually do
PAGE_SIZE << compound_order(page)
directly (since there's no reason to go from size to hstate and back to
size. I don't know all the details of these VM internals, but that
seems to only work on the first (small) page of a giant page? Which
causes problems for what we're trying to do here...
You should be able to find the head of a compound page using the
compound_head() inline, so try
PAGE_SIZE << compound_order(compound_head(page))
-- wli