Messages in this thread | | | From | Nick Piggin <> | Subject | Re: [PATCH 1/1] hugetlbfs: handle pages higher order than MAX_ORDER | Date | Wed, 8 Oct 2008 23:29:59 +1100 |
| |
On Wednesday 08 October 2008 20:33, Andy Whitcroft wrote: > When working with hugepages, hugetlbfs assumes that those hugepages > are smaller than MAX_ORDER. Specifically it assumes that the mem_map > is contigious and uses that to optimise access to the elements of the > mem_map that represent the hugepage. Gigantic pages (such as 16GB pages > on powerpc) by definition are of greater order than MAX_ORDER (larger > than MAX_ORDER_NR_PAGES in size). This means that we can no longer make > use of the buddy alloctor guarentees for the contiguity of the mem_map, > which ensures that the mem_map is at least contigious for maximmally > aligned areas of MAX_ORDER_NR_PAGES pages. > > This patch adds new mem_map accessors and iterator helpers which handle > any discontiguity at MAX_ORDER_NR_PAGES boundaries. It then uses these > within copy_huge_page, clear_huge_page, and follow_hugetlb_page to allow > these to handle gigantic pages. > > Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Seems good to me... but do you have to add lots of stuff into the end of the for statements? Why not just at the end of the block?
| |