[Vm-dev] Stopping a Smalltalk process from lldb/gdb?

Bert Freudenberg bert at freudenbergs.de
Tue Oct 4 13:32:38 UTC 2016


On Tue, Oct 4, 2016 at 3:01 PM, Denis Kudriashov <dionisiydk at gmail.com>
wrote:

>
> Hi
>
> 2016-10-04 9:38 GMT+02:00 Holger Freyther <holger at freyther.de>:
>
>> Hey,
>>
>> so apparently I shot myself in the foot and created something like:
>>
>> [[] repeat] fork.
>>
>
> I tried it on latest Pharo on Mac. And no hang. Image continue working. UI
> start to be slower.
>

In Squeak we have disabled processPreemptionYields to restore proper
preemption semantics. That's why the above loop prevents the UI process
from running.

Before, the VM always forced a process to yield if it was preempted, which
made the scheduling non-deterministic. The time slice given to each process
was random (whenever a higher-priority process became runnable). It did
have the "advantage" of doing an implicit round-robin scheduling if
multiple processes had the same priority. I guess that's what you're seeing
in Pharo.

Cog supports both schemes via vmParameter 48.

- Bert -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20161004/8928ea18/attachment.htm


More information about the Vm-dev mailing list