Re: [PATCH 0/5] Sizing zones and holes in an architecture independentmanner V7

From: Mel Gorman
Date: Wed Jun 07 2006 - 06:11:08 EST


On Wed, 7 Jun 2006, Andi Kleen wrote:

Spanned pages and holes will be different on
x86_64 because I don't account the kernel image and memmap as holes.

That's a significant inaccuracy and may give worse VM results.


Right now, x86_64 seems to be the only arch that accounts for the kernel image and memmap as holes so I would consider it to be unusual. For memory hot-add, new memmaps are allocated using kmalloc() and are not accounted for as holes. So, on x86_64, some memmaps are holes and others are not.

Why is it a performance regression if the image and memmap is accounted for as holes? How are those regions different from any other kernel allocation or bootmem allocations for example which are not accounted as holes? Bear in mind that when I said "I don't account the kernel image and memmap as holes", the spanned_pages value remains the same, the value of present_pages is greater but the starting number of free pages should be more or less the same.

If you are sure that it makes a measurable difference to performance, I can work on adding a new call unregister_active_region() that allows an arch to account for arbitrary pfn ranges as holes. This could be used for kernel images, memmaps and probably the first contiguous allocated block used by the bootmem allocator. However, I'm not sure it is worth the effort. That said, if it *is* worth the effort, all architectures using the arch-independent zone-sizing would benefit, not just x86_64.

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/