Definitely should do that as well. john
On Tue, Mar 19, 2013 at 4:04 PM, Brian Geffon <[email protected]> wrote: > Thanks John! > > Someone else mentioned that we might need to force the head_p to be 16 byte > aligned, what are your thoughts? > > - } head_p; > + } __attribute__ ((aligned (16))) head_p; > > > Thanks. > Brian > > On Tue, Mar 19, 2013 at 3:47 PM, John Plevyak <[email protected]> wrote: > > > I believe the problem is with INK_QUEUE_LD which is not atomic: > > > > diff --git a/lib/ts/ink_queue.h b/lib/ts/ink_queue.h > > index 6ac9945..20fbf9a 100644 > > --- a/lib/ts/ink_queue.h > > +++ b/lib/ts/ink_queue.h > > @@ -72,7 +72,7 @@ extern "C" > > #endif > > > > #if TS_HAS_128BIT_CAS > > -#define INK_QUEUE_LD(dst,src) *((__int128_t*)&(dst)) = > > *((__int128_t*)&(src)) > > +#define INK_QUEUE_LD(dst,src) *(__int128_t*)&(dst) = > > __sync_fetch_and_add((__int128_t*)&(src), 0) > > #else > > #define INK_QUEUE_LD(dst,src) INK_QUEUE_LD64(dst,src) > > #endif > > > > This fixes the problem. > > > > On Mon, Mar 18, 2013 at 9:31 PM, Brian Geffon <[email protected]> wrote: > > > > > Hey, I'm looking into the failing freelist tests using the precise64 > > > vagrant box. If I can't figure it out tonight I'll just disable the > check > > > in configure.ac to get things stable again for the time being. If > anyone > > > else has some time to help out with this, I'd really appreciate it. > > > > > > Brian > > > > > > On Mon, Mar 18, 2013 at 9:49 AM, James Peach <[email protected]> > wrote: > > > > > > > Hi Brian, > > > > > > > > I finally fixed the autoconf tests for TS_HAS_128BIT_CAS. > Unfortunately > > > > test_freelist fails on all the platforms that I have access to. I'm > > > > assuming that on your platforms it succeeds, so maybe there's > something > > > > about the version of gcc you are using that makes it work. > > > > > > > > Since I don't really know which platforms this is working for, what > do > > > you > > > > think about reverting this? > > > > > > > > J > > > > > >
