[Vm-dev] VM on Solaris
Andreas Wacknitz
A.Wacknitz at gmx.de
Thu Apr 24 19:12:14 UTC 2014
Am 24.04.14 20:28, schrieb Eliot Miranda:
>
>
>
> Hi Andreas,
>
>
> On Thu, Apr 24, 2014 at 9:58 AM, Andreas Wacknitz <a.wacknitz at gmx.de
> <mailto:a.wacknitz at gmx.de>> wrote:
>
>
>
> Am 24.04.2014 um 00:14 schrieb Eliot Miranda
> <eliot.miranda at gmail.com <mailto:eliot.miranda at gmail.com>>:
>
>> Hi Andreas,
>>
>>
>> On Wed, Apr 23, 2014 at 9:35 AM, Andreas Wacknitz
>> <a.wacknitz at gmx.de <mailto:a.wacknitz at gmx.de>> wrote:
>>
>>
>> Thanks again Eliot,
>>
>> First, I solved the pthreads problem under OpenSolaris. While
>> Solaris 10 doesn’t need special user privileges for thread
>> control (at least within the same thread policy I guess),
>> users under Solaris 11 (and thus OpenSolaris) need the
>> privilege „proc_priocntl“ to be given by an administrator.
>> (For those who are interested: usermod -K
>> defaultpriv=basic,proc_priocntl andreas)
>>
>>
>> This is a pain :-). You could either assume that people can
>> always get the necessary permission and go with the threaded
>> heartbeat (my preferred suggestion) or provide two VMs (always
>> tedious).
> Yes, I consider going with the threaded heartbeat for OpenSolaris
> (I will also try to compile everything under Solaris 11.1 but
> that’s on lower priority for me as I am not really using it.).
> I am not yet decided whether the version without increased
> priority would be enough. At the moment everything seems to run
> fine with this version; I can interrupt "[[true] whileTrue]
> forkAt: Processor userInterruptPriority“
> by ALT-.
>
>
> That implies it is working. But I would definitely make sure the
> heartbeat runs at a higher priority than the main thread.
>
> One thing to check is that delays expire even when the system is fully
> busy, e.g.
>
> | run s |
> run := true.
> s := Semaphore new.
> [| i | i := 0. s wait. [run] whileTrue: [i := i + 1]] forkAt:
> Processor highestPriority - 1.
> [(Delay forSeconds: 1) wait. run := false] forkAt: Processor
> highestPriority.
> s signal
>
> should lock up the system for 1 second. If the heartbeat is not
> advancing the clock used to check for delays then the sytsem will
> remain locked.
It's working like you described it. Locked for a second and then
continues to work.
>
> But the whole thing isn’t finished yet as FFI (NativeBoost doesn’t
> seem to work (e.g. "UnixEnvironment environ“ fails. I don’t know
> when I will find time to deal with that.
>
>
> Well, the code is still useful for the Squeak VM, so please commit if
> and when you have the heartbeat working to your satisfaction.
I will do that. Next step is to get your Cog branch compiled and run :)
This is mostly for my fun and experience. I am doing all in my spare
time and thus cannot predict when it will be finished.
Best regards,
Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140424/40de89c4/attachment.htm
More information about the Vm-dev
mailing list