* The 10ms averager in fair.c
@ 2012-09-30 11:44 Uwaysi Bin Kareem
2012-09-30 19:18 ` Uwaysi Bin Kareem
[not found] ` <1349064397.6957.26.camel@marge.simpson.net>
0 siblings, 2 replies; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-09-30 11:44 UTC (permalink / raw)
To: linux-kernel
Hiya. I just had an initial look at fair.c
There seems to be a 10ms averager in there?
You are aware that that means you work on delayed values?
Isn`t that counterintuitive to the principle of sharing?
That means short bursts of cpu-use will be filtered out, and given less
cpu time.
Starting applications won`t have their cpu-usage before 5ms, which is
quite a bit on modern machines. Well if you use a linearphase filter, I
don`t know what kind of averager you use. The best would ofcourse be to
use a minimalphase gaussian averager. Which might be overkill. Atleast a
one-pole iir, buf = buf + (-buf + in) * cut)); One pole IIRs also have a
better frequency response.
When you are working with low-latencies, wouldn`t it be better if such
things are tuned for target latency. I think few care about latency after
0.2ms. So say the filter should be set to 0.4ms max.
Why would you want to filter cpu-usage also really?
Peace Be With You.
(please CC me.)
^ permalink raw reply [flat|nested] 9+ messages in thread
* re: The 10ms averager in fair.c
@ 2012-09-30 12:16 Uwaysi Bin Kareem
0 siblings, 0 replies; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-09-30 12:16 UTC (permalink / raw)
To: linux-kernel
I also did a quick hack changing some of those values, giving
non-interrputed audiostream with audioapp alone, at 0.7ms. (on a core2duo
@ 2.5ghz)
That is actually better than BFS.
Peace Be With You.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The 10ms averager in fair.c
2012-09-30 11:44 Uwaysi Bin Kareem
@ 2012-09-30 19:18 ` Uwaysi Bin Kareem
[not found] ` <1349064397.6957.26.camel@marge.simpson.net>
1 sibling, 0 replies; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-09-30 19:18 UTC (permalink / raw)
To: linux-kernel
Just to illustrate, you have a filter that lasts 10ms, and a cpu process
that lasts 100uS
Original spike
5 |
4 |
3 |
2 |
1 |
0 |
0ms_______________________10ms
Filtered spike
5
4
3
2
1 .....................
0.. ..
0ms________________________10ms
Not only is the filtered spike, much lower, but it lasts long beyond the
100uS spike. (10ms). Why would that be used in something that should
represent cpu-usage?
Peace Be With You.
On Sun, 30 Sep 2012 13:44:14 +0200, Uwaysi Bin Kareem
<uwaysi.bin.kareem@paradoxuncreated.com> wrote:
> Hiya. I just had an initial look at fair.c
>
> There seems to be a 10ms averager in there?
>
> You are aware that that means you work on delayed values?
>
> Isn`t that counterintuitive to the principle of sharing?
>
> That means short bursts of cpu-use will be filtered out, and given less
> cpu time.
> Starting applications won`t have their cpu-usage before 5ms, which is
> quite a bit on modern machines. Well if you use a linearphase filter, I
> don`t know what kind of averager you use. The best would ofcourse be to
> use a minimalphase gaussian averager. Which might be overkill. Atleast a
> one-pole iir, buf = buf + (-buf + in) * cut)); One pole IIRs also have a
> better frequency response.
>
> When you are working with low-latencies, wouldn`t it be better if such
> things are tuned for target latency. I think few care about latency
> after 0.2ms. So say the filter should be set to 0.4ms max.
>
> Why would you want to filter cpu-usage also really?
>
> Peace Be With You.
>
> (please CC me.)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The 10ms averager in fair.c
[not found] ` <1349064397.6957.26.camel@marge.simpson.net>
@ 2012-10-01 13:24 ` Uwaysi Bin Kareem
[not found] ` <1349146202.7086.23.camel@marge.simpson.net>
2012-10-02 6:56 ` Uwaysi Bin Kareem
1 sibling, 1 reply; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-10-01 13:24 UTC (permalink / raw)
To: Mike Galbraith
On Mon, 01 Oct 2012 06:06:37 +0200, Mike Galbraith <efault@gmx.de> wrote:
> On Sun, 2012-09-30 at 13:44 +0200, Uwaysi Bin Kareem wrote:
>> Hiya. I just had an initial look at fair.c
>>
>> There seems to be a 10ms averager in there?
>>
>> You are aware that that means you work on delayed values?
>>
>> Isn`t that counterintuitive to the principle of sharing?
>
> Not if you want to be able to use lots of groups, and still do something
> other than in-kernel arithmetic.
>
> -Mike
>
"Use lots of groups"? I don`t even see the point with that. Currently
doesn`t cfs manipulate nice levels? If you set constant nice levels, and
remove the filter, things will work more as expected. High nice value,
should be short slice. That is your "group", for instance "low priority
stuff".
That a filter filters out the initial cpu spike, only to starve it and
elevate the priority later, is silly. That is delayed execution.
Now I haven`t looked that close at the whole scheduler yet, but no.. I
can`t possibly think what a filter does in there, that smears at 100uS
spike, over 10ms.
Btw, I did set it to 1ns, and it only improved things. So that it should
have some function seems odd to me.
Are you sure this isn`t just a design-philosophy that was done, without
much knowledge of filters?
Peace Be With You.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The 10ms averager in fair.c
[not found] ` <1349064397.6957.26.camel@marge.simpson.net>
2012-10-01 13:24 ` Uwaysi Bin Kareem
@ 2012-10-02 6:56 ` Uwaysi Bin Kareem
[not found] ` <1349169555.7086.48.camel@marge.simpson.net>
1 sibling, 1 reply; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-10-02 6:56 UTC (permalink / raw)
To: Mike Galbraith
This is just too much code for me to do a quick patch on. It really needs
to be evaulated with concerns to what an optimal scheduler is. That would
be to operate on actual system load ofcourse, not a filtered system load
that doesn`t represent what is actually happening on a computer.
What you can do for the time being is just set it to 1nS. If that doesn`t
negatively impact anything, then you know it is bogus.
Peace Be With You.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The 10ms averager in fair.c
[not found] ` <1349146202.7086.23.camel@marge.simpson.net>
@ 2012-10-02 7:04 ` Uwaysi Bin Kareem
2012-10-05 19:54 ` Uwaysi Bin Kareem
1 sibling, 0 replies; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-10-02 7:04 UTC (permalink / raw)
To: Mike Galbraith
Ok, so you don`t know. Well, then it looks like what I said, to me. What
is a 100us load, that gets filtered by a 10ms filter? Nothing.
Or a very very small value that rises and falls over 10ms.
Load-distribution based on a spike that happened a long time ago (in
computing terms) seems very odd. You don`t even know the average before
5ms.
I am going to look at the code, and see if I can make a patch.
Peace Be With You.
On Tue, 02 Oct 2012 04:50:02 +0200, Mike Galbraith <efault@gmx.de> wrote:
> On Mon, 2012-10-01 at 15:24 +0200, Uwaysi Bin Kareem wrote:
>
>> Are you sure this isn`t just a design-philosophy that was done, without
>> much knowledge of filters?
>
> Are you? I see "I don't see the point", along with "I haven't looked
> closely". If you look, perhaps you'll see a better way, and can post
> patches. That's the strength of opensource.
>
> -Mike
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The 10ms averager in fair.c
[not found] ` <1349169555.7086.48.camel@marge.simpson.net>
@ 2012-10-02 8:07 ` Uwaysi Bin Kareem
[not found] ` <1349176973.7086.96.camel@marge.simpson.net>
0 siblings, 1 reply; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-10-02 8:07 UTC (permalink / raw)
To: Mike Galbraith
On Tue, 02 Oct 2012 11:19:15 +0200, Mike Galbraith <efault@gmx.de> wrote:
> On Tue, 2012-10-02 at 08:56 +0200, Uwaysi Bin Kareem wrote:
>
>> What you can do for the time being is just set it to 1nS. If that
>> doesn`t
>> negatively impact anything, then you know it is bogus.
>
> I already know that there is negative impact.
>
> -Mike
>
You already know? Then please elaborate, what a 10ms smoother is doing in
a nanosecond resolution scheduler.
Superficially there is no negative impact with Renoise, doom 3, chromium,
on a shaved+low/latency/low jitter kernel, core 2 duo desktop. Chromium
actually got faster. Well it felt faster, and that is what I care about.
You can probably config differently and get more throughput for servers,
but that does not equate to throughput when talking about displayed frames
on screen. So please elaborate what you mean by negative impact.
Peace Be With You.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The 10ms averager in fair.c
[not found] ` <1349176973.7086.96.camel@marge.simpson.net>
@ 2012-10-02 9:28 ` Uwaysi Bin Kareem
0 siblings, 0 replies; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-10-02 9:28 UTC (permalink / raw)
To: Mike Galbraith
On Tue, 02 Oct 2012 13:22:53 +0200, Mike Galbraith <efault@gmx.de> wrote:
> On Tue, 2012-10-02 at 10:07 +0200, Uwaysi Bin Kareem wrote:
>> On Tue, 02 Oct 2012 11:19:15 +0200, Mike Galbraith <efault@gmx.de>
>> wrote:
>>
>> > On Tue, 2012-10-02 at 08:56 +0200, Uwaysi Bin Kareem wrote:
>> >
>> >> What you can do for the time being is just set it to 1nS. If that
>> >> doesn`t
>> >> negatively impact anything, then you know it is bogus.
>> >
>> > I already know that there is negative impact.
>> >
>> > -Mike
>> >
>>
>> You already know? Then please elaborate, what a 10ms smoother is doing
>> in
>> a nanosecond resolution scheduler.
>
> I already told you.
>
> I passed a piece of information along that I thought would be of use to
> you. That's all. I don't like your tone, and owe you nothing, so have
> a nice day, and goodbye.
>
> -Mike
>
Lol. Well, I will just have to fix this on my own then. Imagine if you
have a nanosecond cpu burst, and calculating load on a 10ms smoothed
version of that. I really thought that would be easy to understand. I am
very suprised to find it there, and very surprised at your attitude. If
you had something actual to say about this, you would have done it in the
first post. "A lot of groups" means nothing.
Peace Be With You.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: The 10ms averager in fair.c
[not found] ` <1349146202.7086.23.camel@marge.simpson.net>
2012-10-02 7:04 ` Uwaysi Bin Kareem
@ 2012-10-05 19:54 ` Uwaysi Bin Kareem
1 sibling, 0 replies; 9+ messages in thread
From: Uwaysi Bin Kareem @ 2012-10-05 19:54 UTC (permalink / raw)
To: linux-kernel
Ok I have gained a bit more information on this now. Apparently, the
filter is there, for HPC loads to exclude scheduler activity itself from
the scheduler?
Filtering all the processes for this, seems completely unessecary though.
Depending on what resolution these filters run at, you have 50 filters
running at resolution X, only to do that, with 50 processes. Why not just
replace that with a simple, on off, say cpu usage = 0 for the first 1 ms.
Scheduler activity probably doesn`t last longer than that, atleast with
preempt on. And with a filter you will have 10ms activity indication after
the last input. That should just be truncated, and after 1ms things should
just work on peak values. (not average).
From thinking about how this filter would improve anything, that seems
like the better way to do anything like that.
Peace Be With You.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-10-05 19:54 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-30 12:16 The 10ms averager in fair.c Uwaysi Bin Kareem
-- strict thread matches above, loose matches on Subject: below --
2012-09-30 11:44 Uwaysi Bin Kareem
2012-09-30 19:18 ` Uwaysi Bin Kareem
[not found] ` <1349064397.6957.26.camel@marge.simpson.net>
2012-10-01 13:24 ` Uwaysi Bin Kareem
[not found] ` <1349146202.7086.23.camel@marge.simpson.net>
2012-10-02 7:04 ` Uwaysi Bin Kareem
2012-10-05 19:54 ` Uwaysi Bin Kareem
2012-10-02 6:56 ` Uwaysi Bin Kareem
[not found] ` <1349169555.7086.48.camel@marge.simpson.net>
2012-10-02 8:07 ` Uwaysi Bin Kareem
[not found] ` <1349176973.7086.96.camel@marge.simpson.net>
2012-10-02 9:28 ` Uwaysi Bin Kareem
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.