On 10/06/15 16:20, Andres Freund wrote:
> That's precisely what I referred to in the bit you cut away...

I apologize, yes.

On 10/06/15 16:25, Tom Lane wrote:
> Optimizing for misuse of the mechanism is not the way.

I absolutely agree and I really appreciate all efforts towards lockless data
structures or at least better concurrency using classical mutual exclusion.

But still I am convinced that on today's massively parallel NUMAs, spinlocks are
plain wrong:

- Even if critical sections are kept minimal, they can still become hot spots

- When they do, we get potentially massive negative scalability, it will be
  hard to exclude the possibility of a system "tilting" under (potentially yet
  unknown) load patterns as long as userland slocks exist.

  Briefly: When slocks fail, they fail big time

- slocks optimize for the best case, but I think on today's systems we should
  optimize for the worst case.

- The fact that well behaved mutexes have a higher initial cost could even
  motivate good use of them rather than optimize misuse.

Cheers,

Nils


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to