Robert,
> 1. How much we're paying for this in the uncontended case?
Using glibc, we have the overhead of an additional library function call, which
we could eliminate by pulling in the code from glibc/nptl or a source of other
proven reference code.
The pgbench results I had posted before
http://archives.postgresql.org/pgsql-hackers/2012-07/msg00061.php could give an
indication on the higher base cost for the simple approach.
I have mentioned this before: While I agree that minimizing the base overhead is
good, IMHO, optimizing the worst case is the important part here.
Nils