Squeak Daemon: Why doesn't Squeak sleep with zero cpu usage?

Peter William Lount peter at ActiveInfo.CA
Wed Jan 21 00:41:09 UTC 2004


Hi,

Ned Konz writes:
> > I've yet to find squeak 3.7a on unix. (See my earlier email today about
> > that).
> What do you mean? I was referring to the 3.7a image, not VM. I'm using the
> same 3.6g-2++ VM for both tests, and the 3.6 image had around 4% CPU usage
> and the 3.7a image had about 0.5%.
I tried simply "updating" a 3.6g image with "load code updates" but that
just causes a core dump. I'll try copying over a 3.7a image and see how it
behaves.

> Not exactly, but Morphic does provide its morphs with stepping behavior.
Which
> does require waking up from time to time to see if anything needs to be
> stepped, and then going back to sleep.
Can we turn off the morphic stepping feature? I didn't see a preference that
would turn it on or off... Would turning this off prevent the need to wake
up, or is there some other reason that the "loop" wakes up?

> What's happening (and this is probably overly complicated, but...) there
is a
> high-priority IO task that's mostly blocked waiting for events to come up
> from the VM. These get stuffed into a SharedQueue that is then read by the
UI
> task as part of its loop. Of course, if there are no UI interactions,
there's
> nothing to do then.
If there is nothing for them to do why are they causing it to wake up?

> So the loop reduces to:
> * deal with I/O if any (there isn't)
> * do any stepping that's necessary (probably not any of this either)
> * refresh the damaged regions (which there won't be any of)
So this is in essense a polling loop?

> Also turn off the higherPerformance and cpuWatcherEnabled prefs.
These are off by default.

All the best,

Peter





More information about the Squeak-dev mailing list