Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Aug 2004 09:31:29 +0100
From:      Doug Rabson <dfr@nlsystems.com>
To:        freebsd-current@freebsd.org
Cc:        Tim Robbins <tjr@freebsd.org>
Subject:   Re: Atomic operations on i386/amd64
Message-ID:  <200408060931.29804.dfr@nlsystems.com>
In-Reply-To: <20040806023055.GC20148@empiric.icir.org>
References:  <20040805050422.GA41201@cat.robbins.dropbear.id.au> <4112B184.8010303@samsco.org> <20040806023055.GC20148@empiric.icir.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 06 August 2004 03:30, Bruce M Simpson wrote:
> On Thu, Aug 05, 2004 at 04:15:32PM -0600, Scott Long wrote:
> > >>Is there any particular reason why atomic_load_acq_*() and
> > >>atomic_store_rel_*() are implemented with CMPXCHG and XCHG
> > >> instead of MOV on i386/amd64 UP?
>
> Have a look at Linux. They ended up doing a runtime self-modifying
> kernel hack so they could ship generic kernels which used the
> appropriate locking instructions on each x86 family CPU.

I also really like the way the kernel exports a page containing 'the 
best syscall sequence' for the current processor.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200408060931.29804.dfr>