On 30 Mar 2001, at 16:34, Henrik Nordstrom <hno@hem.passagen.se> wrote:
> > Good place used to be exactly after memDataInit() call in mem.c:memInit()
> > As good place should be after CREATE_CBDATA() in cbdata.c:cbdataInit() ??
>
> Only covers a small fraction of the cbdata types. Most are registered
> dynamically using the macro CBDATA_INIT_TYPE().
We can call Tune function right after these?
Well, we can eventually pick chunk size based on whats most wanted, and
find ways to tune the rest.
> > Dynamic is not easy. I can't find a clean way how to change chunk size
> > after some allocations have been serviced.
> > But perhaps we could even shrink the chunk if we notice that it never
> > exceeds few simultaneous allocations.
>
> Haven't looked at how you track the chunks, but I cannot imagine it to
> be very hard to increase the chunk size when more chunks are required.
> Of course you cannot change the size of already allocated chunks, but
> this should not matter very much, except that free needs to know to
> search for chunks smaller than the current granulatiry.
Currently, equal size of all chunks in a pool is a precondition.
It would get more difficult and slower to handle variable chunks within
pool. Possible, but I think doubtly worth it, due to performance penalty.
------------------------------------
Andres Kroonmaa <andre@online.ee>
CTO, Delfi Online
Tel: 6501 731, Fax: 6501 708
Pärnu mnt. 158, Tallinn,
11317 Estonia
Received on Fri Mar 30 2001 - 08:25:06 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:13:42 MST