guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some introductory docs about C level threading


From: Marius Vollmer
Subject: Re: Some introductory docs about C level threading
Date: Wed, 09 Feb 2005 13:13:09 +0100
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux)

Ken Raeburn <address@hidden> writes:

>> SCM type will mean it's atomic.
>
> If use of the SCM type is assumed to be atomic in terms of CPU memory
> access and inter-CPU memory consistency, that's fine, but it should be
> documented as such -- and we should acknowledge that ports to
> architectures where that assumption does not hold may not be possible.

Yes, this is exactly my intention.

> [...]
> Depending on just how it works out, that could mean essentially
> declaring some of the scheme object types (like cons cells) as
> volatile, which would be poor for performance.

That would be no show-stopper: if Guile can only be correct with poor
performance on some platform, than we have to swallow that.

> And volatile declarations may fix the possibility of storing
> incomplete values, but I don't think it would deal with the
> cross-thread memory access ordering issue.

As long as accesses to SCM values are atomic, the ordering of
loads/stores across threads can be arbitrary.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]