Messages in this thread | | | Date | Wed, 22 Oct 2008 14:10:07 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 0/4] pending scheduler updates |
| |
* Mike Galbraith <efault@gmx.de> wrote:
> On Wed, 2008-10-22 at 12:03 +0200, Mike Galbraith wrote: > > > It has positive effects too, but IMHO, the bad outweigh the good. > > BTW, most dramatic on the other end of the spectrum is pgsql+oltp. > With preemption as is, it collapses as load climbs to heavy with > preemption knobs at stock. Postgres uses user-land spinlocks and > _appears_ to wake others while these are still held. For this load, > there is such a thing as too much short-term fairness, preempting lock > holder creates nasty gaggle of contended lock spinners. It's curable > with knobs, and I think it's postgres's own fault, but may be wrong. > > With that patch, pgsql+oltp scales perfectly.
hm, tempting.
Have you tried to hack/fix pgsql to do proper wakeups?
Right now pgsql it punishes schedulers that preempt it while it is holding totally undeclared (to the kernel) user-space spinlocks ...
Hence postgresql is rewarding a _bad_ scheduler policy in essence. And pgsql scalability seems to fall totally apart above 16 cpus - regardless of scheduler policy.
Ingo
| |