Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-13 Thread Theo Schlossnagle
Hazard pointers are offered by concurrency kit, but can be omitted and in a normal usage scenario (because everything we use would be leveraged via inline headers) would never be in trafficserver. On Mar 8, 2013 3:17 PM, "Brian Geffon" wrote: > My only concern with concurrencykit is the use of ha

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-13 Thread Alan M. Carroll
It's 8-byte aligned so it's fine in that case. I'll look at that a bit more today. autoreconf -if doesn't work any differently than just "-i". Wednesday, March 13, 2013, 1:45:08 AM, you wrote: > I dont fully understand how this would work in the 8 byte case if memory > alignment was the issue.

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-12 Thread Brian Geffon
I dont fully understand how this would work in the 8 byte case if memory alignment was the issue. Brian On Tue, Mar 12, 2013 at 10:36 PM, Igor Galić wrote: > > > - Original Message - > > Unfortunately this commit breaks my build and executable. FC 18. > > --enable-debug and --enable-wcc

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-12 Thread Igor Galić
- Original Message - > Unfortunately this commit breaks my build and executable. FC 18. > --enable-debug and --enable-wccp. > > Building: > > autoreconf -i Should you `autoreconf -if` ? > fails. > > [amc@yuna ats]$ autoreconf -i > configure.ac:1115: warning: AC_LANG_CONFTEST: no

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-12 Thread James Peach
On 12/03/2013, at 7:57 PM, Alan M. Carroll wrote: > Unfortunately this commit breaks my build and executable. FC 18. > --enable-debug and --enable-wccp. > > Building: > >autoreconf -i > > fails. > > [amc@yuna ats]$ autoreconf -i > configure.ac:1115: warning: AC_LANG_CONFTEST: no AC_LANG

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-12 Thread Alan M. Carroll
Unfortunately this commit breaks my build and executable. FC 18. --enable-debug and --enable-wccp. Building: autoreconf -i fails. [amc@yuna ats]$ autoreconf -i configure.ac:1115: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body ../../lib/autoconf/lang.m4:194: AC_LANG_CO

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-10 Thread Igor Galić
- Original Message - > On 08/03/2013, at 1:10 PM, James Peach wrote: > > > On 08/03/2013, at 6:38 AM, Leif Hedstrom wrote: > > > >> On 3/8/13 4:24 AM, Theo Schlossnagle wrote: > >>> Would we consider just pulling in concurrencykit? We'll get this > >>> and many > >>> other composed pr

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-10 Thread Brian Geffon
I'm going to commit this patch today unless there are any last minute objections. Brian On Mar 8, 2013, at 2:53 PM, John Plevyak wrote: > Since it it is under the simplified BSD, we can simply not include the > hazard pointer files to avoid any potential problem. > > john > > On Fri, Mar 8, 201

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread John Plevyak
Since it it is under the simplified BSD, we can simply not include the hazard pointer files to avoid any potential problem. john On Fri, Mar 8, 2013 at 12:17 PM, Brian Geffon wrote: > My only concern with concurrencykit is the use of hazard pointers, it's my > understanding that hazard pointers

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread James Peach
On 08/03/2013, at 1:10 PM, James Peach wrote: > On 08/03/2013, at 6:38 AM, Leif Hedstrom wrote: > >> On 3/8/13 4:24 AM, Theo Schlossnagle wrote: >>> Would we consider just pulling in concurrencykit? We'll get this and many >>> other composed primitives from an active community for free. >> >>

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread James Peach
On 08/03/2013, at 6:38 AM, Leif Hedstrom wrote: > On 3/8/13 4:24 AM, Theo Schlossnagle wrote: >> Would we consider just pulling in concurrencykit? We'll get this and many >> other composed primitives from an active community for free. > > I discussed this with John a while ago, and we both agree

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread Brian Geffon
My only concern with concurrencykit is the use of hazard pointers, it's my understanding that hazard pointers are patented by IBM: http://www.google.com/patents/US20040107227?printsec=description#v=onepage&q&f=false Brian On Fri, Mar 8, 2013 at 9:43 AM, Igor Galić wrote: > > > - Original Me

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread Igor Galić
- Original Message - > On 3/8/13 9:50 AM, Brian Geffon wrote: > > I'm all for this also, i think at minimum we should take advantage > > of > > what we get for free from c++11, especially since we have c++11 > > checks > > in our autoconf script already anyway. I had never actually heard

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread Leif Hedstrom
On 3/8/13 9:50 AM, Brian Geffon wrote: I'm all for this also, i think at minimum we should take advantage of what we get for free from c++11, especially since we have c++11 checks in our autoconf script already anyway. I had never actually heard of concurrencykit until now. I know TBB isn't reall

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread Brian Geffon
I'm all for this also, i think at minimum we should take advantage of what we get for free from c++11, especially since we have c++11 checks in our autoconf script already anyway. I had never actually heard of concurrencykit until now. I know TBB isn't really an option, but has anyone compared the

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread John Plevyak
+1 On Mar 8, 2013 6:39 AM, "Leif Hedstrom" wrote: > On 3/8/13 4:24 AM, Theo Schlossnagle wrote: > >> Would we consider just pulling in concurrencykit? We'll get this and many >> other composed primitives from an active community for free. >> > > I discussed this with John a while ago, and we both

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread Leif Hedstrom
On 3/8/13 4:24 AM, Theo Schlossnagle wrote: Would we consider just pulling in concurrencykit? We'll get this and many other composed primitives from an active community for free. I discussed this with John a while ago, and we both agreed it'd be desirable to use this instead of rolling our own

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-08 Thread Theo Schlossnagle
n Mar 7, 2013 9:13 PM, "Brian Geffon" wrote: > > > Hello all, > > > > So to those of you familiar with the freelists you know that it works > this > > way the head pointer uses the upper 16 bits for a version to prevent the > > ABA problem. The big dr

Re: TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-07 Thread John Plevyak
I'll take a look. I was thinking we should make this move. Glad to see it. On Mar 7, 2013 9:13 PM, "Brian Geffon" wrote: > Hello all, > > So to those of you familiar with the freelists you know that it works this > way the head pointer uses the upper 16 bits for a v

TS-1742: Freelists: using 64bit versions w/ double word compare and swap

2013-03-07 Thread Brian Geffon
Hello all, So to those of you familiar with the freelists you know that it works this way the head pointer uses the upper 16 bits for a version to prevent the ABA problem. The big drawback to this is that it requires the following NASTY macros to get at the pointer or the version: #define

Re: Freelists

2012-09-05 Thread Brian Geffon
Brian > > On Wed, Sep 5, 2012 at 8:45 PM, Brian Geffon wrote: >> Hi, >> I was curious if anyone could shed some light on the following >> question I've had. So if I understand this correctly the freelists use >> the upper 16bits of the data ptr to be a &qu

Re: Freelists

2012-09-05 Thread Brian Geffon
this correctly the freelists use > the upper 16bits of the data ptr to be a "version," where this version > tries to solve several problems related to lockfree data structures > including the ABA problem and the delete after remove problem. So in > my quest to understand these more,

Freelists

2012-09-05 Thread Brian Geffon
Hi, I was curious if anyone could shed some light on the following question I've had. So if I understand this correctly the freelists use the upper 16bits of the data ptr to be a "version," where this version tries to solve several problems related to lockfree data structures in