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/

Reply via email to