Subject: Re: [Libhugetlbfs-devel] 2.6.19: kernel BUG in hugepd_page at arch/powerpc/mm/hugetlbpage.c:58!

From: David Gibson <[email-masked]>
Date: Wed, 24 Jan 2007 11:35:56 +1100

On Tue, Jan 23, 2007 at 10:20:03AM -0600, Adam Litke wrote:
> On Tue, 2007-01-23 at 17:18 +1100, David Gibson wrote:
> > Second, there's the fact that we never demote hugepage segments back
> > to normal pages.  That was a deliberate decision to keep things
> > simple, incidentally, not simply an oversight.  I guess it would help
> > in this case and shouldn't be that hard.  It would mean a find_vma()
> > on each unmap to see if the region is now clear, but that's probably
> > not too bad.  Plus a bunch of on_each_cpu()ed slbies as when we open a
> > new hugepage segment.  Oh.. and making sure we get rid of any empty
> > hugepage directories, which might be a bit fiddly.
> 
> Could we also try lazy conversion of huge segments to normal ones?  When
> is_hugepage_only_range() detects overlapping hugepage ranges, it could
> attempt to "close" those ranges for huge pages first.  Then the heavy
> lifting only needs to happen when a small page mapping needs the space.

We could, but I think it's both easier and less operations to do the
check on unmap.  The lifting isn't that heavy.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson