Lockless uidinfo.

Bruce Evans brde at optusnet.com.au
Sun Aug 19 05:44:51 PDT 2007


On Sun, 19 Aug 2007, Jeff Roberson wrote:

> On Sun, 19 Aug 2007, Bruce Evans wrote:

>> atomic_*long() shouldn't exist (and doesn't exist in my version) since
>> longs should actually be long (twice as long as registers) and thus
>> especially epensive to lock.
>
> Well unfortunately this is not how the compiler implements them on the 
> architectures that we support.  So in this case long is 32bit on 32bit 
> machines and 64bit on 64bit machines and as such requires each architecture 
> to treat them specially.  I don't think it's unreasonable to add an 
> atomic_fetchadd_long() that conforms to the definition of long that is 
> actually in use.

The compiler has nothing to do with this.  The implementation is FreeBSD's
and it is poor, like I said.

[Context lost to top posting]

Bruce


More information about the freebsd-arch mailing list