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

Borislav Petkov
2012-09-15T19:45:00Z

On Sat, Sep 15, 2012 at 06:13:45PM +0200, Mike Galbraith wrote:
> > Just for my n00b scheduler understanding: this way you're practically
> > extending the timeslice of the task so that it gets done without being
> > preempted and the lock-holding period of the preempted task gets smaller
> > and thus you get more completed transactions in postgres during the
> > benchmark run?
>
> Not really, preemption will happen, but when the preempting task goes to
> sleep (or uses it's fair share), instead of selecting the leftmost task
> (lowest vruntime), the preempted task gets the CPU back if we can do
> that without violating fairness. If the preempted task happens to be a
> userland spinlock holder, it then release the lock sooner, others don't
> spin as long, do more work, less playing space heater while lock holder
> waits for spinners to eat enough CPU to become less deserving that it.

Ok, I definitely grok this. Thanks for explaining.

--
Regards/Gruss,
Boris.