Kris Kennaway <kris@obsecurity.org> writes:
> On Tue, Apr 10, 2007 at 02:46:56PM -0400, Tom Lane wrote:
>> Oh, I'm sure the BSD kernel acts as you describe. But Mark's point is
>> that Postgres never has more than one process waiting on any particular
>> SysV semaphore, and so the problem doesn't really affect us.
> To be clear, some behaviour that postgresql does with sysv semaphores
> causes wakeups of many processes at once. i.e. if you have 20
> clients, you will get up to 20 wakeups. I haven't studied the precise
> cause of this, but it is empirically true. This is the scaling
> problem I described, and it's what mux's patch addresses.
[ shrug... ] To the extent that that happens, it's Postgres' own issue,
and no amount of kernel rejiggering will change it. But I certainly
have no objection to a patch that fixes the kernel behavior ...
regards, tom lane