Unix & pegging the CPU for idle Squeak, a question...

John M McIntosh johnmci at smalltalkconsulting.com
Thu May 24 18:42:11 UTC 2001


This is regarding the Carbon Squeak VM

At 7:30 PM -0500 5/22/01, Aaron J Reichow wrote:
>I don't know if you're aware of it, but just haven't found a solution, but
>Squeak sucks up as much CPU time as it can get.  With top running:
>
>6318 top         12.7%  0:02.60   1    20    15   284K   220K   508K  1.39M
>6316 Squeak VM   70.8%  0:31.43   2    79    79  13.5M  4.78M  17.4M  1.02G
>
>I'm sure it eats even more when top isn't running, seeing how that's using
>so much CPU time itself.  This happens with the 3.0.16 (and .15) VM and
>with both a pretty new 3.1a and clean 3.0 image.

Now I could go look, but since I'm quite busy at the moment perhaps 
someone could tell me what the Unix VM does to avoid pegging the CPU.

I had added logic to the macintosh VM to set the delay time to 1/60 
of a second for waitnextevent if we received an 
ioRelinquishProcessorForMicroseconds call which is called as a result 
of the lowest priority task in the image running. This results in the 
CPU load going to about 12%. However it also affects the running of 
Morphic animation because when the Morph steps the image can become 
idle and invoke the RelinquishProcessor primitive.

Now maybe we just accept somewhat poorer performance under Carbon to 
avoid pegging the CPU and allow all those other Unix tasks to run. 
But thoughts on this are welcome


PS note the 1.02G of VM backing store...
-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





More information about the Squeak-dev mailing list