Subject: Re: [boost] [lock-free] CDS -yet another lock-free library
From: Tim Blechmann (tim_at_[hidden])
Date: 2010-03-31 17:55:29


> static inline atomic64_t load64( atomic64_t volatile const * pMem )
> {
> // Atomically loads 64bit value by SSE intrinsics
> __m128i v = _mm_loadl_epi64( (__m128i const * __restrict) pMem ) ;
> return v.m128i_i64[0] ;
> }

are you sure, that _mm_loadl_epi64 is actually atomic in your case?
according to the intel manual, the value should be 64bit aligned or should
not cross a cache line boundary. are you sure, that this cannot occur?

cheers, tim

-- 
tim_at_[hidden]
http://tim.klingt.org
The price an artist pays for doing what he wants is that he has to do
it.
  William S. Burroughs