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

Reply via email to