Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Tue, 10 Apr 2001 16:07:24 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Tue, 10 Apr 2001 16:07:10 -0400 Received: from ns.suse.de ([213.95.15.193]:39177 "HELO Cantor.suse.de") by vger.kernel.org with SMTP id ; Tue, 10 Apr 2001 16:05:53 -0400 Date: Tue, 10 Apr 2001 22:05:51 +0200 From: Andi Kleen To: Linus Torvalds Cc: David Howells , Andrew Morton , Ben LaHaise , Alan Cox , Kernel Mailing List Subject: Re: [PATCH] i386 rw_semaphores fix Message-ID: <20010410220551.A24251@gruyere.muc.suse.de> In-Reply-To: <11851.986925762@warthog.cambridge.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from torvalds@transmeta.com on Tue, Apr 10, 2001 at 12:42:07PM -0700 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 10, 2001 at 12:42:07PM -0700, Linus Torvalds wrote: > > > On Tue, 10 Apr 2001, David Howells wrote: > > > > Here's a patch that fixes RW semaphores on the i386 architecture. It is very > > simple in the way it works. > > XADD only works on Pentium+. My Intel manual says it 486+: `` XADD-Exchange and Add [...] Intel Architecture Compatibility Intel Architecture processors earlier than the Intel486TM processor do not recognize this instruc- tion. If this instruction is used, you should provide an equivalent code sequence that runs on earlier processors. '' I guess 386 could live with an exception handler that emulates it. (BTW an generic exception handler for CMPXCHG would also be very useful for glibc -- currently it has special checking code for 386 in its mutexes) The 386 are so slow that nobody would probably notice a bit more slowness by a few exceptions. -Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/