2008-03-25 20:29:44

by J.C. Pizarro

[permalink] [raw]
Subject: Poor performance now? Please, put weighted velocities ctxts/s to the sched.decision!

[1] "Performance changes between 2.6.13 and 2.6.23"
http://lkml.org/lkml/2008/3/25/102
On Tue, Mar 25, 2008 at 1:34 PM, Sanders, Rob M. <[email protected]> wrote:
> Of more particular concern, the main application that I build has seen a 4-5X
> slowdown in performance. Under YDL4.0.91 I could process roughly 1e8 data
> points in ~2 seconds, and under YDL6.0 I now process 1e8 data points in
> ~8 seconds. Total CPU loading (from top) is about 5%, under both systems.
...
> YDL4.0.91 system is context switching about 7000 per interval, whereas the
> YDl6 system is context switching about 1200 times per interval.

It's the velocity, ctxts/interval, a parameter not recognized by the scheduler.

I said them to put the proposal of putting the counters and velocities fields
to the task's struct for the scheduler can take a good decision, the past month.

More weight in higher ctxts/s for the scheduler=> more interactivity.

[2] "Re: Serious performance regression in Wine applications and Linux 2.6.24.*"
http://lkml.org/lkml/2008/3/25/181
On Tue, 25 Mar 2008 08:49:13 -0700, "Ray Lee" wrote:
> Andi's idea of looking for excessive context switches is good -- I
> didn't see a response to that one. Other than that, if you're only
> noticing the issue in 3d games, then it could be several things (not
> just the scheduler).

The kernel needed the velocity parameter to gain it: ctxts per interval
(normally ctxts/s or ctxts/minute).

The proposal of the past month was here:

"Please, put 64-bit counter per task and incr.by.one each ctxt switch."
http://lkml.org/lkml/2008/2/23/398
http://lkml.org/lkml/2008/2/23/401
http://lkml.org/lkml/2008/2/23/406
http://lkml.org/lkml/2008/2/24/1
http://lkml.org/lkml/2008/2/24/103
http://lkml.org/lkml/2008/2/24/157
http://lkml.org/lkml/2008/2/26/159

My proposal is free for yours, quasi-bastards, I won't charge you!

J.C.Pizarro


2008-03-25 20:39:14

by Ray Lee

[permalink] [raw]
Subject: Re: Poor performance now? Please, put weighted velocities ctxts/s to the sched.decision!

On Tue, Mar 25, 2008 at 1:29 PM, J.C. Pizarro <[email protected]> wrote:
> [2] "Re: Serious performance regression in Wine applications and Linux 2.6.24.*"
> http://lkml.org/lkml/2008/3/25/181
> On Tue, 25 Mar 2008 08:49:13 -0700, "Ray Lee" wrote:
> > Andi's idea of looking for excessive context switches is good -- I
> > didn't see a response to that one. Other than that, if you're only
> > noticing the issue in 3d games, then it could be several things (not
> > just the scheduler).
>
> The kernel needed the velocity parameter to gain it: ctxts per interval
> (normally ctxts/s or ctxts/minute).

We don't know that's the problem yet. The reporter is doing more testing.

> "Please, put 64-bit counter per task and incr.by.one each ctxt switch."
> http://lkml.org/lkml/2008/2/23/398
> http://lkml.org/lkml/2008/2/23/401
> http://lkml.org/lkml/2008/2/23/406
> http://lkml.org/lkml/2008/2/24/1
> http://lkml.org/lkml/2008/2/24/103
> http://lkml.org/lkml/2008/2/24/157
> http://lkml.org/lkml/2008/2/26/159

There are already counters recording the switches:
http://lkml.org/lkml/2008/2/25/314

> My proposal is free for yours, quasi-bastards, I won't charge you!

My parents were married.

2008-03-25 20:50:54

by J.C. Pizarro

[permalink] [raw]
Subject: Re: Poor performance now? Please, put weighted velocities ctxts/s to the sched.decision!

On 2008/3/25, Ray Lee <[email protected]> wrote:
> On Tue, Mar 25, 2008 at 1:29 PM, J.C. Pizarro <[email protected]> wrote:
> > [2] "Re: Serious performance regression in Wine applications and Linux 2.6.24.*"
> > http://lkml.org/lkml/2008/3/25/181
> > On Tue, 25 Mar 2008 08:49:13 -0700, "Ray Lee" wrote:
> > > Andi's idea of looking for excessive context switches is good -- I
> > > didn't see a response to that one. Other than that, if you're only
> > > noticing the issue in 3d games, then it could be several things (not
> > > just the scheduler).
> >
> > The kernel needed the velocity parameter to gain it: ctxts per interval
> > (normally ctxts/s or ctxts/minute).
>
>
> We don't know that's the problem yet. The reporter is doing more testing.
>
>
> > "Please, put 64-bit counter per task and incr.by.one each ctxt switch."
> > http://lkml.org/lkml/2008/2/23/398
> > http://lkml.org/lkml/2008/2/23/401
> > http://lkml.org/lkml/2008/2/23/406
> > http://lkml.org/lkml/2008/2/24/1
> > http://lkml.org/lkml/2008/2/24/103
> > http://lkml.org/lkml/2008/2/24/157
> > http://lkml.org/lkml/2008/2/26/159
>
>
> There are already counters recording the switches:
> http://lkml.org/lkml/2008/2/25/314

I forgot this link, thanks!

It seems that they don't make ++ of counters in each switch ocurr.
I don't know how they record the switches.

The current scheduler don't take the count or the velocity of ctxts
as an extra parameter more in the decision of scheduling.

> > My proposal is free for yours, quasi-bastards, I won't charge you!
>
>
> My parents were married.

Luck boy ;) !