David Gibson 4866920b93 [PATCH] hugepage: Fix hugepage logic in free_pgtables() harder
Turns out the hugepage logic in free_pgtables() was doubly broken.  The
loop coalescing multiple normal page VMAs into one call to free_pgd_range()
had an off by one error, which could mean it would coalesce one hugepage
VMA into the same bundle (checking 'vma' not 'next' in the loop).  I
transferred this bug into the new is_vm_hugetlb_page() based version.
Here's the fix.

This one didn't bite on powerpc previously for the same reason the
is_hugepage_only_range() problem didn't: powerpc's hugetlb_free_pgd_range()
is identical to free_pgd_range().  It didn't bite on ia64 because the
hugepage region is distant enough from any other region that the separated
PMD_SIZE distance test would always prevent coalescing the two together.

No libhugetlbfs testsuite regressions (ppc64, POWER5).

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Cc: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-22 07:54:04 -08:00
..
2006-03-22 07:54:01 -08:00
2005-06-24 00:06:41 -07:00
2005-10-28 08:16:51 -07:00
2006-03-22 07:53:58 -08:00
2006-01-11 18:42:13 -08:00
2006-03-22 07:54:01 -08:00
2006-03-22 07:54:01 -08:00
2006-03-02 08:33:07 -08:00
2005-10-29 21:40:42 -07:00
2005-04-16 15:20:36 -07:00
2006-03-22 07:54:02 -08:00
2006-03-22 07:54:02 -08:00
2006-03-22 07:54:01 -08:00
2006-02-08 07:52:58 -08:00
2006-03-22 07:53:57 -08:00