Changes from V2: - weak function clear_compoundpage() introduced to allow overriding with an arch specific function that may use hardware assist to clear huge pages. - missing casts for access to page->private - Reorganized patches This is a revised edition of the hugetlb demand page patches by Kenneth Chen which were discussed in the following thread in August 2004 http://marc.theaimsgroup.com/?t=109171285000004&r=1&w=2 The initial post by Ken was in April in http://marc.theaimsgroup.com/?l=linux-ia64&m=108189860401704&w=2 Hugetlb demand paging has been part of SuSE SLES 9 for awhile now and this patchset is intended to help hugetlb demand paging also get into the official Linux kernel. Huge pages are referred to as "compound" pages in terms of "struct page" in the Linux kernel. Term "compund page" may be used alternatively to huge page. There are many pieces to this patchset that I was unable to establish who wrote them first. If you would like proper credit please notify me as to who wrote which portions so that I can insert the appropriate texts. This patchset is only known to work on ia64 for now. Please provide feedback and I will post a revised patchset every couple of days until we get to something we are all satisfied with. The patchset consists of 8 patches. 1/8 core kernel huge page demand paging 2/8 hugetlb file system 3/8 ia64 arch 4/8 i386 arch 5/8 sparc64 arch 6/8 sh64 arch 7/8 sh arch 8/8 ppc64 arch