Re: 20% performance drop on PostgreSQL 9.2 from kernel 3.5.3 to 3.6-rc5 on AMD chipsets - bisected

Mike Galbraith
2012-09-16T04:48:19Z

On Sat, 2012-09-15 at 19:08 +0200, richard -rw- weinberger wrote:
> On Sat, Sep 15, 2012 at 6:36 PM, Mike Galbraith <efault@gmx.de> wrote:
> >> Just using futex is unfortunately not the answer either.
> >
> > Yes, postgress performs loads better with it's spinlocks, but due to
> > that, it necessarily _hates_ preemption. How the is the scheduler
> > supposed to know that any specific userland task _really_ shouldn't be
> > preempted at any specific time, else bad things follow?
>
> Why perform custom userspace spinlocks better than futex() based ones?
> I thought we have futex() to get rid of the custom ones...
> Makes futex() only sense when things like priority inheritance are needed?

Dunno. Likely because data doesn't go cold when you spin a bit, but go
to sleep and the next guy may stomp cache flat with size XXL boots.

-Mike