From owner-freebsd-arch@FreeBSD.ORG Fri May 21 17:45:16 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8A5DF16A4CE; Fri, 21 May 2004 17:45:16 -0700 (PDT) Received: from smtp2.server.rpi.edu (smtp2.server.rpi.edu [128.113.2.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 352ED43D39; Fri, 21 May 2004 17:45:16 -0700 (PDT) (envelope-from drosih@rpi.edu) Received: from [128.113.24.47] (gilead.netel.rpi.edu [128.113.24.47]) by smtp2.server.rpi.edu (8.12.8/8.12.8) with ESMTP id i4M0igIX005961; Fri, 21 May 2004 20:44:43 -0400 Mime-Version: 1.0 X-Sender: drosih@mail.rpi.edu Message-Id: In-Reply-To: References: Date: Fri, 21 May 2004 20:44:41 -0400 To: Julian Elischer , arch@freebsd.org From: Garance A Drosihn Content-Type: text/plain; charset="us-ascii" ; format="flowed" X-Scanned-By: CanIt (www . canit . ca) cc: mtm@freebsd.org Subject: Re: atomic reference counting primatives. X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 May 2004 00:45:16 -0000 At 1:56 PM -0700 5/20/04, Julian Elischer wrote: >This has been raised before but I have come across uses for >it again and again so I'm raising it again. JHB once posted >some atomic reference counting primitives. (Do you still have >them John?) Alfred once said he had some somewhere too, and >others have commented on this before, but we still don't seem >to have any. Btw, does this thread have anything to do with the present buuldworld-breakage for sparc64? I notice the compile-time errors are something like: /usr/src/lib/libthr/thread/thr_cancel.c: In function `testcancel': /usr/src/lib/libthr/thread/thr_cancel.c:123: warning: passing arg 1 of `atomic_cmpset_int' from incompatible pointer type My guess is that this is related to Mike's change to "Make libthr async-signal-safe without costly signal masking. [...etc...]". This breakage underlines one reason that it would be mighty convenient to have some "official" set of primitives. It is one thing if a developer has to roll-their-own solution for i386, but somewhat more challenging if that solution has to work across a half-dozen different hardware platforms. This also suggests that it would be nice if the primitives could be written so that if the wrong type-of-parameters are given, the compiles will fail on *all* platforms. -- Garance Alistair Drosehn = gad@gilead.netel.rpi.edu Senior Systems Programmer or gad@freebsd.org Rensselaer Polytechnic Institute or drosih@rpi.edu