Re: slab cache

Stephen C. Tweedie
2002-06-10T08:57:50Z

Hi,

On Sun, Jun 09, 2002 at 10:52:46PM +0800, David Chow wrote:

> I am trying to improve the speed of my fs code. I have a fixed sized
> buffer for my fs, I currently use kmalloc for allocation of buffers
> greater than 4k, use get_free_page for 4k buffers and vmalloc for large
> buffers.

Allocations larger than pagesize always put a higher stress on the VM
and reduce performance. Your best bet for top performance will be
simply to perform no allocations larger than pagesize. You can use a
slab cache for those allocations if you want, and that may have some
advantages depending on the locality of allocations in your code.

Using 4k buffers does not limit your ability to use larger data
structures --- you can still chain 4k buffers together by creating an
array of struct page* pointers via which you can access the data.