Messages in this thread | | | Subject | Re: 20% performance drop on PostgreSQL 9.2 from kernel 3.5.3 to 3.6-rc5 on AMD chipsets - bisected | From | Mike Galbraith <> | Date | Sun, 16 Sep 2012 06:48:12 +0200 |
| |
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
| |