From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Kevin Ryde Newsgroups: gmane.lisp.guile.user Subject: Re: Some introductory docs about C level threading Date: Mon, 07 Feb 2005 11:48:04 +1100 Message-ID: <878y61jiuz.fsf@zip.com.au> References: <6b496d191d7216e82df4e9a7afbb3168@raeburn.org> <87fz0falxl.fsf@zip.com.au> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1107738980 2512 80.91.229.2 (7 Feb 2005 01:16:20 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 7 Feb 2005 01:16:20 +0000 (UTC) Cc: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Feb 07 02:16:20 2005 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1CxxVc-0001Wv-Le for guile-user@m.gmane.org; Mon, 07 Feb 2005 02:16:12 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Cxxje-0001xm-IM for guile-user@m.gmane.org; Sun, 06 Feb 2005 20:30:42 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Cxxjb-0001x6-Df for guile-user@gnu.org; Sun, 06 Feb 2005 20:30:39 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Cxxcc-0000dl-A7 for guile-user@gnu.org; Sun, 06 Feb 2005 20:23:29 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Cxxcb-0000QY-RG for guile-user@gnu.org; Sun, 06 Feb 2005 20:23:25 -0500 Original-Received: from [61.8.0.85] (helo=mailout2.pacific.net.au) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Cxx4a-0008MC-Fu for guile-user@gnu.org; Sun, 06 Feb 2005 19:48:17 -0500 Original-Received: from mailproxy2.pacific.net.au (mailproxy2.pacific.net.au [61.8.0.87]) by mailout2.pacific.net.au (8.12.3/8.12.3/Debian-7.1) with ESMTP id j170mAHn012902; Mon, 7 Feb 2005 11:48:10 +1100 Original-Received: from localhost (ppp2083.dyn.pacific.net.au [61.8.32.131]) by mailproxy2.pacific.net.au (8.12.3/8.12.3/Debian-7.1) with ESMTP id j170m88v003020; Mon, 7 Feb 2005 11:48:09 +1100 Original-Received: from gg by localhost with local (Exim 3.36 #1 (Debian)) id 1Cxx4P-0000zh-00; Mon, 07 Feb 2005 11:48:05 +1100 Original-To: Ken Raeburn In-Reply-To: (Ken Raeburn's message of "Tue, 1 Feb 2005 19:38:03 -0500") User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (gnu/linux) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org X-MailScanner-To: guile-user@m.gmane.org Xref: main.gmane.org gmane.lisp.guile.user:4215 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:4215 Ken Raeburn writes: > > The problem is, if there are any case where it would be needed, then we > need to use it everywhere there could be a potential problem. > 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. I'd think it shouldn't hurt too much. A store written in the code probably means a store should be done :-). Optimizations for local variables etc should be unchanged, just memory ops become exactly as written. > 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. I think we have to assume all threads see memory ops in the order they're done (anything else is too crazy), and with that assumption and some care libguile ought to be ok. _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user