From: | Andres Freund <andres(at)2ndquadrant(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Peter Geoghegan <pg(at)heroku(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Wait free LW_SHARED acquisition - v0.2 |
Date: | 2014-10-08 17:20:16 |
Message-ID: | 20141008172016.GD5053@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2014-10-08 13:13:33 -0400, Robert Haas wrote:
> On Wed, Oct 8, 2014 at 8:47 AM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
> > I don't see that as being relevant. The difference is an instruction or
> > two - in the slow path we'll enter the kernel and sleep. This doesn't
> > matter in comparison.
> > And the code is *so* much more readable.
>
> I find the slist/dlist stuff actually quite difficult to get right
> compared to a hand-rolled linked list.
Really? I've spent more than a day debugging things with the current
code. And Heikki introduced a bug in it. If you look at how the code
looks before/after I find the difference pretty clear.
> But the really big problem is
> that the debugger can't do anything useful with it. You have to work
> out the structure-member offset in order to walk the list and manually
> cast to char *, adjust the pointer, and cast back. That sucks.
Hm. I can just do that with the debugger here. Not sure if that's
because I added the right thing to my .gdbinit or because I use the
correct compiler flags.
Greetings,
Andres Freund
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2014-10-08 17:23:44 | Re: Wait free LW_SHARED acquisition - v0.2 |
Previous Message | Robert Haas | 2014-10-08 17:13:33 | Re: Wait free LW_SHARED acquisition - v0.2 |