[kaffe] Placing kaffe on embedded devices

Jukka Santala jsantala@tml.hut.fi
Fri, 7 Jun 2002 16:18:47 +0300 (EEST)


On Fri, 7 Jun 2002, Alexander Popov wrote:
> Would you mind if I quote you directly in the FAQ...

Not at all, that's what I'm commenting for. Feel free to rephrase where
neccessary, too.

> Yes, the demand for X is quite annoying (especially on PDAs running 
> Qtopia )...
> I'd be really glad to see support for Qt/E or SDL as alternative to X.

By the way, also IFF Kaffe is the only real service on the system, which
is perhaps somewhat more likely on embedded than a desktop, see
FAQ.gcstrategy. The short of it is that by specifying to Kaffe that it may
use more memory on the device, garbage-collection can actually be
significantly faster. If Kaffe is the only real program running... well,
it can use practically all of the memory. Since X, kernel etc. will be
using some memory too, this should be little short of total system memory,
since garbage-collection and swap don't mix too well. (Which is a shame -
for embedded you might want to use the memory up quite efficiently, so
having Kaffe somehow auto-detect when its running out of real memory would
be a plus. But again, beyond the basic FAQ).

So assme you have 64MB iPAQ, you might want to use -ms 56 to let Kaffe use
all but 8 megs of memory before running garbage-collection, and/or -mx 56
to ensure that it won't use more than that. Although 8MB might be too
little for your system, so you need to experiment wit that as well. But
with the default settings Kaffe will be running GC after allocating just
5MB, and may well run (or cause something else to run) out of memory on
<=64MB machines when GC could still recover some. So those are good
options to be aware of for embedded use, too.

 -Jukka Santala