Re: Poor PostgreSQL scaling on Linux 2.6.25-rc5 (vs 2.6.22)

Nick Piggin
2008-03-17T05:35:42Z

On Monday 17 March 2008 16:16, Ray Lee wrote:
> On Sun, Mar 16, 2008 at 5:44 PM, Nick Piggin <nickpiggin@yahoo.com.au>
wrote:
> > I don't see how it is really helpful for interactive processes either.
> > By definition, if they are not CPU bound, then they should be run
> > quite soon after waking up; if they are CPU bound, then reducing
> > efficiency by increasing context switches is effectively going to
> > increase their latency anyway.
>
> How? Are you saying that switching the granularity to, say, 25ms, will
> *decrease* the latency of interactive tasks?

No. It shouldn't change them.

> And the efficiency we're talking about reducing here is due to the
> fact that tasks are hitting cold caches more times per second when the
> granularity is smaller, correct? Or are you concerned by another
> issue?

Secondary issues like the actual cost of context switch, but they are
generally in the noise compared to cache and tlb costs.

> > Can this be changed by default, please?
>
> Not without benchmarks of interactivity, please. There are far, far
> more linux desktops than there are servers. People expect to have to
> tune servers (I do, for the servers I maintain). People don't expect
> to have to tune a desktop to make it run well.

Linux desktops shouldn't run with massive loads anyway. Tuning the
scheduler to "work" well in an X session when you have a make -j100
in the background is retarded.

But sure, if the scheduler doesn't properly prioritize non-CPU bound
tasks versus CPU bound ones, then it should be fixed to do so.