Date: Mon, 12 Jul 1999 09:00:59 +0100 (BST) From: Doug Rabson <dfr@nlsystems.com> To: Peter Jeremy <jeremyp@gsmx07.alcatel.com.au> Cc: mike@ducky.net, freebsd-current@freebsd.org Subject: Re: "objtrm" problem probably found (was Re: Stuck in "objtrm") Message-ID: <Pine.BSF.4.10.9907120859240.52933-100000@salmon.nlsystems.com> In-Reply-To: <99Jul12.085624est.40350@border.alcanet.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 12 Jul 1999, Peter Jeremy wrote: > Mike Haertel <mike@ducky.net> wrote: > >Um. FYI on x86, even if the compiler generates the RMW > >form "addl $1, foo", it's not atomic. If you want it to > >be atomic you have to precede the opcode with a LOCK > >prefix 0xF0. > > I'd noticed that point as well. The top of sys/i386/include/atomic.h > _does_ make is clear that they aren't SMP safe: > > /* > * Various simple arithmetic on memory which is atomic in the presence > * of interrupts. > * > * Note: these versions are not SMP safe. > */ > > That said, it should be fairly simple to change Matt's new in-line > assembler versions to insert LOCK prefixes when building an SMP > kernel. (Although I don't know that this is necessary yet, given > the `Big Giant Lock'). We don't need the lock prefix for the current SMP implementation. A lock prefix would be needed in a multithreaded implementation but should not be added unless the kernel is an SMP kernel otherwise UP performance would suffer. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9907120859240.52933-100000>