Hi,

nothing special. The cause is to 99% the fragmentation. Hard to say where is
the problem - whether at TT or Palm or at both of them. In any case there
are situations (quite frequent) where the DbCache cleaning achieved via
standard Palm API calls helps to reclaim enough memory for TT. Looks like
the NVFS implementation is still far from being perfect.

With best regards,
    Jan Slodicka
    Resco, Palm Division




----- Original Message ----- 
From: "Jan Slodicka" <[EMAIL PROTECTED]>
To: "Palm Developer Forum" <[email protected]>
Sent: Thursday, March 02, 2006 9:28 PM
Subject: Re: Not enough free DB cache memory to run this application. ...


> Thanks,
>
> I had in mind the feature memory, too, of course, but completely forgot
> about DmGetRecord.
>
> I am thinking about making a SW (maybe a freeware, maybe added to our
tools)
> for fragmentation checking and the things that should be checked include:
> - Locked records (On 5-4.9+ devices probably only in combination with the
DB
> protection)
> - Feature memory
> - Busy records (DmGetRecord should return NULL and the error should be
> dmErrRecordBusy.)
>
> I am not sure how the open databases contribute. Opening probably means
> means locking of the DB header.(?)
>
> All these factors could contribute to a fragmentation map, which in turn
> could produce some characteristics such as the largest blocks etc.
>
> Defragmentation is also a question. At least for the feature memory there
> seems to be a way to minimize the fragmentation.
>
> > Also, on pre-5-4.9 devices, the logic for removing something from DB
Cache
> was more complex because the locking wasn't done on MemHandleLock/Unlock,
> but on DmGetRecord/DmQueryRecord/DmReleaseRecord.
>
> Probably on both - otherwise e.g. RLocker could not work.
>
> Would be great, if you can comment this plan. (And good for the Palm users
> if a usefull defragmenter could be developed.)
>
> With best regards,
>     Jan Slodicka
>     Resco, Palm Division
>
>
>
>
>
> ----- Original Message ----- 
> From: "Ben Combee" <[EMAIL PROTECTED]>
> To: "Palm Developer Forum" <[email protected]>
> Sent: Thursday, March 02, 2006 6:46 PM
> Subject: Re: Not enough free DB cache memory to run this application. ...
>
>
> On 3/2/06, Jan Slodicka <[EMAIL PROTECTED]> wrote:
> > I suspect the fragmentation of the DBCache, but the fragmentation can be
> > caused only by locked DB records, maybe also by the opened DBs - that's
> what
> > I do not quite understand. If I knew what causes the fragmentation, then
> > maybe I could measure it and find the answer.
>
> DB Cache can also be fragmented by Feature Memory.  Also, on pre-5-4.9
> devices, the logic for removing something from DB Cache was more
> complex because the locking wasn't done on MemHandleLock/Unlock, but
> on DmGetRecord/DmQueryRecord/DmReleaseRecord.
>
>
> -- 
> For information on using the PalmSource Developer Forums, or to
unsubscribe, please see http://www.palmos.com/dev/support/forums/


-- 
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/

Reply via email to