Re: futex results with dbt-3 - Mailing list pgsql-performance

From Manfred Spraul
Subject Re: futex results with dbt-3
Date
Msg-id 417973CA.1090807@colorfullife.com
Whole thread Raw
In response to Re: futex results with dbt-3  (Mark Wong <markw@osdl.org>)
List pgsql-performance
Mark Wong wrote:

>Pretty, simple.  One to load the database, and 1 to query it.  I'll
>attach them.
>
>
>
I've tested it on my dual-cpu computer:
- it works, both cpus run within the postmaster. It seems something your
gentoo setup is broken.
- the number of context switch is down slightly, but not significantly:
The glibc implementation is more or less identical to the implementation
right now in lwlock.c: a spinlock that protects a few variables that are
used to implement the actual mutex, several wait queues: one for
spinlock busy, one or two for the actual mutex code.

Around 25% of the context switches are from spinlock collisions, the
rest are from actual mutex collisions. It might be possible to get rid
of the spinlock collisions by writing a special, futex based semaphore
function that only supports exclusive access [like sem_wait/sem_post],
but I don't think that it's worth the effort: 75% of the context
switches would remain.
What's needed is a buffer manager that can do lookups without a global lock.

--
    Manfred

pgsql-performance by date:

Previous
From: Manfred Spraul
Date:
Subject: Re: futex results with dbt-3
Next
From: Bricklen
Date:
Subject: Re: Performance Anomalies in 7.4.5