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>