From owner-freebsd-smp Thu Dec 7 14:20:21 2000 From owner-freebsd-smp@FreeBSD.ORG Thu Dec 7 14:20:19 2000 Return-Path: Delivered-To: freebsd-smp@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 9CBC537B401 for ; Thu, 7 Dec 2000 14:20:18 -0800 (PST) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.8.7/PCNet) id RAA11017; Thu, 7 Dec 2000 17:19:53 -0500 (EST) Date: Thu, 7 Dec 2000 17:19:53 -0500 (EST) From: Daniel Eischen To: Jason Evans Cc: Dan Eischen , smp@freebsd.org Subject: Re: Userland atomic assignments In-Reply-To: <20001207140746.O2312@canonware.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On 7 Dec 2000, Jason Evans wrote: > On Thu, Dec 07, 2000 at 04:15:05PM -0500, Dan Eischen wrote: > > What kind of atomic operations can we get in userland? > > If I have a singly linked list, where nodes are only added > > to the head or the tail and they are never removed, can I > > walk the list without fear of catching a bad head or > > node->next (when I'm at the end of the list) pointer? > > > > In other words, can I get an atomic_set_ptr() operation > > on each platform? I can also see the need for an > > atomic_set_int32() operation. > > I don't think we have an official API for atomic operations in userland. > There is , but it isn't documented as a userland API. I > agree that we need this or something similar in userland though. Any ideas > on the cleanest way to provide this? Something along the lines of I'd guess. I don't need compare and set, nor anything that complicated, just a couple of atomic store operations. I'm finding some places in libc that could really use an atomic_store_ptr(). -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message