Re: [patch] hugepage allocator cleanup

William Lee Irwin III
2006-01-26T03:09:16Z

On Wed, Jan 25, 2006 at 10:11:03AM +0100, Nick Piggin wrote:
> This is a slight rework of the mechanism for allocating "fresh" hugepages.
> Comments?
> --
> Insert "fresh" huge pages into the hugepage allocator by the same
> means as they are freed back into it. This reduces code size and
> allows enqueue_huge_page to be inlined into the hugepage free
> fastpath.
> Eliminate occurances of hugepages on the free list with non-zero
> refcount. This can allow stricter refcount checks in future. Also
> required for lockless pagecache.
> Signed-off-by: Nick Piggin <npiggin@suse.de>

This patch also eliminates a leak "cleaned up" by re-clobbering the
refcount on every allocation from the hugepage freelists. With respect to
the lockless pagecache, the crucial aspect is to eliminate unconditional
set_page_count() to 0 on pages with potentially nonzero refcounts, though
closer inspection suggests the assignments removed are entirely spurious.

Acked-by: William Irwin <wli@holomorphy.com>