This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] atomic counters larger than 24 bits?

To: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Subject: Re: [Xen-devel] atomic counters larger than 24 bits?
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Fri, 27 Mar 2009 11:15:29 -0700
Cc: "Xen-Devel \(E-mail\)" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 27 Mar 2009 11:15:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <aa4cfdc9-285e-4ff0-8b51-c3de728135cd@default>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <aa4cfdc9-285e-4ff0-8b51-c3de728135cd@default>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (X11/20090320)
Dan Magenheimer wrote:
In tmem, I have some counters that I need to keep coherent,
preferably without a lock, so I'm using atomic_inc/dec etc.
However the comments in include/asm-x86/atomic.h say repeatedly
that the "useful range of an atomic_t is only 24 bits".

Old sparcs had no way to implement proper atomics, so they used to reserve a byte in the atomic_t as a spinlock. But I don't think that's true any more; they have a separate lock hash, and atomics in the kernel are at least 32-bits.

First, are the comments true in the xen implementation?
(I don't see any code that restricts them to anything less
than "int".)  If they ARE limited to 24 bits, what's the
recommended approach for larger atomic operations... or
do I just need to always use a lock?

I don't think the limitation ever applied to Xen.


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>