[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: slab cache
Hi,
On Wed, Jun 12, 2002 at 11:05:29PM +0800, David Chow wrote:
> >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.
> Yes, but for me it is very hard. When doing compression code, most of
> the stuff is not even byte aligned, most of them might be bitwise
> operated, it need very change to existing code.
Perhaps, but the VM basically doesn't give you any primitives that you
can use for arbitrarily large chunks of linear data; things like
vmalloc are limited in the amount of data they can use, total, and it
is _slow_ to set up and tear down vmalloc mappings.
> get_free_page to allocate memory that is 4k to avoid some stress to the
> vm, I have no idea about the difference of get_fee_page and the slab
> cache. All my linear buffers stuff is already using array of page
> pointers, if there any benefits for changing them to use slabcache?
> Please advice, thanks.
It might be if you are allocating and deallocating large numbers of
them in bunches, since the slab cache can then keep a few pages cached
for immediate reuse rather than going to the global page allocator for
every single page. The per-cpu slab stuff would also help to keep the
pages concerned hot in the cache of the local cpu, and that is likely
to be a big performance improvement in some cases.
--Stephen
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/