From owner-freebsd-smp Mon Jun 28 10:18:35 1999 Delivered-To: freebsd-smp@freebsd.org Received: from overcee.netplex.com.au (overcee.netplex.com.au [202.12.86.7]) by hub.freebsd.org (Postfix) with ESMTP id 1126014F19 for ; Mon, 28 Jun 1999 10:18:27 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from netplex.com.au (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 3445882; Tue, 29 Jun 1999 01:18:23 +0800 (WST) (envelope-from peter@netplex.com.au) X-Mailer: exmh version 2.0.2 2/24/98 To: Matthew Dillon Cc: Alan Cox , Terry Lambert , Bakul Shah , julian@whistle.com, freebsd-smp@freebsd.org Subject: Re: high-efficiency SMP locks - submission for review In-reply-to: Your message of "Mon, 28 Jun 1999 09:11:47 MST." <199906281611.JAA22481@apollo.backplane.com> Date: Tue, 29 Jun 1999 01:18:23 +0800 From: Peter Wemm Message-Id: <19990628171823.3445882@overcee.netplex.com.au> Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Matthew Dillon wrote: > :Actually, I have a bigger issue with it.. cmpxchgl etc doesn't exist on > :all x86 cpus. To make a kernel that boots on the current cpus (including > :the 486) we either have to conditionalize the inlines or use the > :universally available (and implicitly locked) xchg instruction - but that's > :a test-and-set style operation rather than atomic_cmpex. > : > :Cheers, > :-Peter > > My "Intel486 Processor Family" book - note the 486, lists the cmpxchgl > instruction. Of course, I've never actually tried it on a 486. I dunno > whether the 386 implements it, though. Ahh, right, silly me. I was thinking of the 8-byte version which is signified by the CX8 bit in cpuid. The 386, I doubt has it. There have been a couple of suggestions for ending the support for the 386 as it will simplify some ugly code for emulating kernel-mode write faults etc, but it's never happened. Apparently the 386 is common in some areas still. Cheers, -Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message