From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030760AbWFOQHF (ORCPT ); Thu, 15 Jun 2006 12:07:05 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030761AbWFOQHF (ORCPT ); Thu, 15 Jun 2006 12:07:05 -0400 Received: from omx2-ext.sgi.com ([192.48.171.19]:10894 "EHLO omx2.sgi.com") by vger.kernel.org with ESMTP id S1030760AbWFOQHD (ORCPT ); Thu, 15 Jun 2006 12:07:03 -0400 Date: Thu, 15 Jun 2006 09:06:55 -0700 (PDT) From: Christoph Lameter To: Zoltan Menyhart cc: akpm@osdl.org, ak@suse.de, linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org Subject: Re: light weight counters: race free through local_t? In-Reply-To: <44915110.2050100@bull.net> Message-ID: References: <449033B0.1020206@bull.net> <44915110.2050100@bull.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hmm... What about side effects such as pipeline stalls? fetchadd is semaphore operation. Typically we use acquire semantics for volatiles. Here the fetchadd has release semantics. If we would use release semantics then the fetchadd would require all prior accesses to be complete. Acquire semantics may be easier. But the best would be a fetchadd without any serialization that would be like the inc/dec memory on i386, which does not exist in the IA64 instruction set.