Skip site navigation (1) Skip section navigation (2)

Re: experimental: replace s_lock spinlock code with pthread_mutex on linux

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Nils Goroll <slink(at)schokola(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Merlin Moncure <mmoncure(at)gmail(dot)com>,pgsql-hackers(at)postgresql(dot)org
Subject: Re: experimental: replace s_lock spinlock code with pthread_mutex on linux
Date: 2012-06-27 06:59:43
Message-ID: 20120627065943.GA25028@svana.org (view raw or flat)
Thread:
Lists: pgsql-hackers
On Wed, Jun 27, 2012 at 12:58:47AM +0200, Nils Goroll wrote:
> So it looks like using pthread_mutexes could at least be an option on Linux.
> 
> Using futexes directly could be even cheaper.

Note that below this you only have the futex(2) system call. Futexes
require all counter manipulation to happen in userspace, just like now,
so all the per architecture stuff remains.  On Linux pthread mutexes
are really just a thin wrapper on top of this.

The futex(2) system call merely provides an interface for handling the
blocking and waking of other processes and releasing locks on process
exit (so everything can still work after a kill -9).

So it's more a replacement for the SysV semaphores than anything else.

Have a nice day,
-- 
Martijn van Oosterhout   <kleptog(at)svana(dot)org>   http://svana.org/kleptog/
> He who writes carelessly confesses thereby at the very outset that he does
> not attach much importance to his own thoughts.
   -- Arthur Schopenhauer

In response to

Responses

pgsql-hackers by date

Next:From: Joel JacobsonDate: 2012-06-27 08:02:24
Subject: Re: Schema version management
Previous:From: Rushabh LathiaDate: 2012-06-27 05:54:08
Subject: Server crash while trying to fetch EXPLAIN query results with a cursor

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group