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/