Re: embedded list v2

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)postgresql(dot)org>, Peter Geoghegan <peter(at)2ndquadrant(dot)com>
Subject: Re: embedded list v2
Date: 2012-09-14 17:22:18
Message-ID: 1347642731-sup-2925@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Here's an updated version of both patches, as well as a third patch that
converts the cc_node list link in catcache.c into an slist.

There are very few changes here; in ilist.h a singleton slist was being
considered empty. Andres reported this to me privately. One other
change is that in catcache.c we no longer compute a new HASH_INDEX on a
CatCTup in order to remove it from its list; instead we store a pointer
to the list in the element itself. We weren't able to measure any
difference between these two approaches to the problem, so we chose the
approach that hasn't been previously vetoed -- see
http://archives.postgresql.org/message-id/2852.1174575239%40sss.pgh.pa.us

I also addressed the unused_attr thingy by taking it out and having the
non-debug version emit a cast to void of the argument.

I think I would get this committed during CF2, and then have a look at
changing some uses of SHM_QUEUE with ilists too.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Attachment Content-Type Size
0001-initial-ilist-stuff-from-Andres.patch application/octet-stream 16.5 KB
0002-Remove-usage-of-lib-dllist.h-and-replace-it-by-the-n.patch application/octet-stream 23.6 KB
0003-convert-catcache.h-cc_next-into-an-slist.patch application/octet-stream 5.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2012-09-14 17:47:33 Closing CF 2012-06
Previous Message Simon Riggs 2012-09-14 17:17:27 Re: Re: [COMMITTERS] pgsql: Properly set relpersistence for fake relcache entries.