This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: cyg_mempool_var_get_info
- From: Andrew Lunn <andrew dot lunn at ascom dot ch>
- To: Stijn Symons <stijn dot symons at gmx dot net>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Mon, 15 Apr 2002 15:12:19 +0200
- Subject: Re: [ECOS] cyg_mempool_var_get_info
- References: <13335.1018874121@www21.gmx.net>
On Mon, Apr 15, 2002 at 02:35:21PM +0200, Stijn Symons wrote:
> Hi all,
>
> We found the slow part in our Java Virtual Machine. It seems to be that
> cyg_mempool_var_get_info is eating up the most of the cpu cycles. Does anybody
> have an idea how this is possible. Our memory pool is 20Mb large...
The function does a walk of the linked list of free blocks. If you
have lots of unconsolidated holes, this could take time and its also
probably thrashing the cache badly.
Do you have coalesce turned on. That will reduce the number of free
blocks, but will add overhead on each free.
Do you really need a separate memory pool to the heap? The heap is
implemented with dlmalloc which i expect is faster for things like
this.
Andrew
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss