On Mon, Nov 10, 2008 at 11:55:33AM +0000, Mel Gorman wrote: > In the situation a caller allocates multiple buffers with > get_hugepage_region(), all the buffers will align to the start of the > hugepage. This means the buffers are almost certainly using the same > cachelines and operations like copying between the arrays will be mysteriously > slow in comparison to buffers allocated from malloc(). In STREAM, allocating > the three arrays using get_huge_pages() was approximately 40% the throughput > of malloc(). > > When requested, this patch uses bytes that would normally be wasted to > offset the buffer by some random cacheline. Effort is made to select a > random cache-line to give good average performance. > > Signed-off-by: Mel Gorman <[EMAIL PROTECTED]>
Acked-by: David Gibson <[EMAIL PROTECTED]> -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libhugetlbfs-devel mailing list Libhugetlbfs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel