Re: [patch] O(1) scheduler, -D1, 2.5.2-pre9, 2.4.17

Linus Torvalds (torvalds@transmeta.com)
Wed, 9 Jan 2002 12:15:59 -0800 (PST)


On Wed, 9 Jan 2002, Ingo Molnar wrote:
>
> 2.5.2-pre10-vanilla running the test at the default priority level:
>
> # ./chat_s 127.0.0.1
> # ./chat_c 127.0.0.1 10 1000
>
> Average throughput : 124676 messages per second
> Average throughput : 102244 messages per second
> Average throughput : 115841 messages per second
>
> [ system is unresponsive at the start of the test, but
> once the 2.5.2-pre10 load-estimator establishes which task is
> interactive and which one is not, the system becomes usable.
> Load can be felt and there are frequent delays in commands. ]
>
> 2.5.2-pre10-vanilla running at nice level 19:
>
> # nice -n 19 ./chat_s 127.0.0.1
> # nice -n 19 ./chat_c 127.0.0.1 10 1000
>
> Average throughput : 214626 messages per second
> Average throughput : 220876 messages per second
> Average throughput : 225529 messages per second
>
> [ system is usable from the beginning - nice levels are working as
> expected. Load can be felt while executing shell commands, but the
> system is usable. Load cannot be felt in truly interactive
> applications like editors.

Ingo, there's something wrong there.

Not a way in hell should "nice 19" cause the throughput to improve like
that. It looks like this is a result of "nice 19" simply doing _different_
scheduling, possibly more batch-like, and as such those numbers cannot
sanely be compared to anything else.

(And if they _are_ comparable, then you should be able to get the good
numbers even without "nice 19". Quite frankly it sounds to me like the
whole chat benchmark is another "dbench", ie doing unbalanced scheduling
_helps_ it performance-wise, which implies that it's probably a bad
benchmark to look at numbers for).

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/