Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Oct 1998 11:17:16 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
Cc:        Alex Nash <nash@mcs.net>, Poul-Henning Kamp <phk@critter.freebsd.dk>, John Birrell <jb@freebsd.org>, cvs-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/lib/libc_r/uthread uthread_gc.c Makefile.inc uthread_init.c uthread_find_thread.c uthread_kern.c uthread_create.c uthread_exit.c
Message-ID:  <Pine.BSF.4.01.9810021116300.414-100000@herring.nlsystems.com>
In-Reply-To: <199810011440.KAA20723@khavrinen.lcs.mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 1 Oct 1998, Garrett Wollman wrote:

> <<On Thu, 1 Oct 1998 09:28:57 -0500, Alex Nash <nash@mcs.net> said:
> 
> > On Thu, Oct 01, 1998 at 10:02:06AM +0200, Poul-Henning Kamp wrote:
> >> Alex, can we constrain ourselves to >actual< problems rather than
> >> theoretically-possible-on-really-stupid-machines-problems ?
> 
> > The atomicity of malloc_active++ is compiler dependent, not
> > really-stupid-machine dependent.
> 
> And, in particular, it may not be atomic on a three-operand RISC
> machine.  Imagine the following code sequence on an imaginary
> processor:
> 
> addil	$malloc_active, %r0, %r1
> addl	(%r1), %r0, %r2
> addil	$1, %r2, %r3
> addl	%r3, %r0, (%r1)

I had to fix a whole stack of this kind of thing in the kernel before it
would work reliably on the alpha.

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 951 1891
					Fax:   +44 181 381 1039




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.01.9810021116300.414-100000>