Messages in this thread | | | From | Andi Kleen <> | Subject | Re: 20% performance drop on PostgreSQL 9.2 from kernel 3.5.3 to 3.6-rc5 on AMD chipsets - bisected | Date | Sat, 15 Sep 2012 09:16:59 -0700 |
| |
Mike Galbraith <efault@gmx.de> writes: > > The only reason I can think of why pgbench might suffer is postgres's > userspace spinlocks. If you always look for an idle core, you improve > the odds that the wakeup won't preempt a lock holder, sending others > into a long spin.
User space spinlocks like this unfortunately have a tendency to break with all kinds of scheduler changes. We've seen this frequently too with other users. The best bet currently is to use the real time scheduler, but with various tweaks to get its overhead down.
Ultimatively the problem is that user space spinlocks with CPU oversubcription is a very unstable setup and small changes can easily disturb it.
Just using futex is unfortunately not the answer either.
-Andi
-- ak@linux.intel.com -- Speaking for myself only
| |