logo       

Non-Contiguous Memory Allocation Tests: msg#00021

Subject: Non-Contiguous Memory Allocation Tests
Hi,

I and a colleague were making tests in Non-Contiguous Memory Allocator. We 
implemented VGNCA, a non-contiguous memory allocator improvement.

In the current non-contiguous memory allocator, each physical page is 
allocated by time, through alloc_page() function call. However, each one of 
this calls has an associated overhead with enable/disable interrupts.

In VGNCA, the main idea is enable/disable interrupts only one time, reducing 
this overhead. Also, VGNCA allocation/deallocation functions are a little 
more simple, because elimination of unnecessary test conditions in size 
allocation.

Our patch is intended to be a test to check if this could bring enough 
benefits to deserve a more careful implementation. We also included some code 
to benchmark allocations and deallocations, using the RDTSC instruction.

We are sending:
- Patch against 2.6.0-test11 with these modifications.
- Graphics with performance tests:
--- small-allocations.eps/small-frees.eps --> 1-128 kB
--- large-allocations.eps/large-frees.eps --> 1-64 MB

LMB, Ruthiano.

Attachment: vgnca-test11.patch
Description: Text Data

Attachment: large-frees.eps
Description: image/eps

Attachment: large-allocations.eps
Description: image/eps

Attachment: small-allocations.eps
Description: image/eps

Attachment: small-frees.eps
Description: image/eps

<Prev in Thread] Current Thread [Next in Thread>