Re: [mux@FreeBSD.org: Re: Anyone interested in improving postgresql scaling?]

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kris Kennaway <kris(at)obsecurity(dot)org>
Cc: Maxime Henrion <mux(at)FreeBSD(dot)org>, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [mux@FreeBSD.org: Re: Anyone interested in improving postgresql scaling?]
Date: 2007-04-10 22:33:38
Message-ID: 4412.1176244418@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Kris Kennaway <kris(at)obsecurity(dot)org> forwards:
> Yes but there are still a lot of wakeups to be avoided in the current
> System V semaphore code. More specifically, not only do we wakeup all
> the processes waiting on a single semaphore everytime something changes,
> but we also wakeup all processes waiting on *any* of the semaphore in
> the semaphore *set*, whatever the reason we're sleeping.

Ohhhh ... *that's* the problem. Ugh. Although we have a separate
semaphore for each PG backend, they're grouped into semaphore sets
(I think 16 active semaphores per set). So a wakeup intended for one
process would uselessly send up to 15 others through the semop code.

The only thing we could do to fix that from our end would be to use
a smaller sema-set size on *BSD platforms. Is the overhead per sema set
small enough to make this a sane thing to do? Will we be likely to
run into system limits on the number of sets?

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-04-10 23:50:23 Re: [HACKERS] Fix mdsync never-ending loop problem
Previous Message Kris Kennaway 2007-04-10 22:28:31 Re: Anyone interested in improving postgresql scaling?