|
TLSFAllocator
IntroductionThis page provides performance evaluation of TLSF (Two Level Segregated Fit) allocator. Details of this allocator can be found here. DetailsSome changes have been made to this allocator to suite needs of this project:
This has now been ported to Linux kernel with some additional changes (code here). A slight variation of this extended TLSF allocator is now included in Xen! PerformancePerformance evaluation is done by replaying this data over TLSF allocator. Following plot shows effect on memory usage by allocator as region size was varied from 4K to 64K: (Here are text data files plotted below).
Zooming on swap requests above 50K:
Data SummaryFollowing shows, number of times tlsf_alloc(), tlsf_free() is called along with average time per call spent in these functions. Also, get_mem(), put_mem() shows no. of times allocator had to go down to system allocator (for adding/freeing region).
This profiling is done with TLSF region size of 16k. Region size has almost no effect on allocator speed. (System: Linux VM (VMware) with 512M RAM - underlying processor: Pentium4 2.8GHz) Conclusions
Notes/Todo
|