public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Roman Zippel <zippel@linux-m68k.org>
Cc: linux-kernel@vger.kernel.org,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Mike Galbraith <efault@gmx.de>
Subject: Re: [announce] CFS-devel, performance improvements
Date: Thu, 13 Sep 2007 14:47:38 +0200	[thread overview]
Message-ID: <20070913124738.GA4450@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.64.0709121405130.1817@scrub.home>


* Roman Zippel <zippel@linux-m68k.org> wrote:

> The rest of the math is indeed different - it's simply missing. What 
> is there is IMO not really adequate. I guess you will see the 
> differences, once you test a bit more with different nice levels.

Roman, i disagree strongly. I did test with different nice levels. Here 
are some hard numbers: the CPU usage table of 40 busy loops started at 
once, all running at a different nice level, from nice -20 to nice +19:

 top - 12:25:07 up 19 min,  2 users,  load average: 40.00, 39.15, 28.35
 Tasks: 172 total,  41 running, 131 sleeping,   0 stopped,   0 zombie

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 2455 root       0 -20  1576  248  196 R   20  0.0   3:47.56 loop        
 2456 root       1 -19  1576  244  196 R   16  0.0   3:03.96 loop        
 2457 root       2 -18  1576  244  196 R   13  0.0   2:24.80 loop        
 2458 root       3 -17  1576  248  196 R   10  0.0   1:58.63 loop        
 2459 root       4 -16  1576  244  196 R    8  0.0   1:33.04 loop        
 2460 root       5 -15  1576  248  196 R    7  0.0   1:14.73 loop        
 2461 root       6 -14  1576  248  196 R    5  0.0   0:59.61 loop        
 2462 root       7 -13  1576  244  196 R    4  0.0   0:47.95 loop        
 2463 root       8 -12  1576  248  196 R    3  0.0   0:38.31 loop        
 2464 root       9 -11  1576  244  196 R    3  0.0   0:30.54 loop        
 2465 root      10 -10  1576  244  196 R    2  0.0   0:24.47 loop        
 2466 root      11  -9  1576  244  196 R    2  0.0   0:19.52 loop        
 2467 root      12  -8  1576  248  196 R    1  0.0   0:15.63 loop        
 2468 root      13  -7  1576  248  196 R    1  0.0   0:12.56 loop        
 2469 root      14  -6  1576  248  196 R    1  0.0   0:10.00 loop        
 2470 root      15  -5  1576  244  196 R    1  0.0   0:07.99 loop        
 2471 root      16  -4  1576  244  196 R    1  0.0   0:06.40 loop        
 2472 root      17  -3  1576  244  196 R    0  0.0   0:05.09 loop        
 2473 root      18  -2  1576  244  196 R    0  0.0   0:04.05 loop        
 2474 root      19  -1  1576  248  196 R    0  0.0   0:03.26 loop        
 2475 root      20   0  1576  244  196 R    0  0.0   0:02.61 loop        
 2476 root      21   1  1576  244  196 R    0  0.0   0:02.09 loop        
 2477 root      22   2  1576  244  196 R    0  0.0   0:01.67 loop        
 2478 root      23   3  1576  244  196 R    0  0.0   0:01.33 loop        
 2479 root      24   4  1576  248  196 R    0  0.0   0:01.07 loop        
 2480 root      25   5  1576  244  196 R    0  0.0   0:00.84 loop        
 2481 root      26   6  1576  248  196 R    0  0.0   0:00.68 loop        
 2482 root      27   7  1576  248  196 R    0  0.0   0:00.54 loop        
 2483 root      28   8  1576  248  196 R    0  0.0   0:00.43 loop        
 2484 root      29   9  1576  248  196 R    0  0.0   0:00.34 loop        
 2485 root      30  10  1576  244  196 R    0  0.0   0:00.27 loop        
 2486 root      31  11  1576  248  196 R    0  0.0   0:00.21 loop        
 2487 root      32  12  1576  244  196 R    0  0.0   0:00.17 loop        
 2488 root      33  13  1576  244  196 R    0  0.0   0:00.13 loop        
 2489 root      34  14  1576  244  196 R    0  0.0   0:00.10 loop        
 2490 root      35  15  1576  244  196 R    0  0.0   0:00.08 loop        
 2491 root      36  16  1576  248  196 R    0  0.0   0:00.06 loop        
 2493 root      38  18  1576  248  196 R    0  0.0   0:00.03 loop        
 2492 root      37  17  1576  244  196 R    0  0.0   0:00.04 loop        
 2494 root      39  19  1576  244  196 R    0  0.0   0:00.02 loop        

check a few select rows (the ratio of CPU time should be 1.25 at every 
step) and see that CPU time is distributed very exactly. (and the same 
is true for both -rc6 and -rc6-cfs-devel)

So even in this pretty extreme example (who on this planet runs 40 busy 
loops with each loop on exactly one separate nice level, creating a load 
average of 40.0 and expects perfect distribution after just a few 
minutes?) CFS still distributes CPU time perfectly.

When you first raised accuracy issues i have asked you to provide 
specific real-world examples showing any of the "problems" with nice 
levels you implied to repeatedly:

    http://lkml.org/lkml/2007/9/2/38

In the announcement of your "Really Fair Scheduler" patch you used the 
following very strong statement:

    " This model is far more accurate than CFS is [...]"

    http://lkml.org/lkml/2007/8/30/307

but when i stressed you for actual real-world proof of CFS misbehavior, 
you said:

    "[...] they have indeed little effect in the short term, [...] "

    http://lkml.org/lkml/2007/9/2/282

so how can CFS be "far less accurate" (paraphrased) while it has "little 
effect in the short term"?

so to repeat my question: my (and Peter's) claim is that there is no 
real-world significance of much of the complexity you added to avoid 
rounding effects. You do disagree with that, so our follow-up question 
is: what actual real-world significance does it have in your opinion? 
What is the worst-case effect? Do we even care? We have measured it 
every which way and it just does not matter. (but we could easily be 
wrong, so please be specific if you know about something that we 
overlooked.) Thanks,

	Ingo

  parent reply	other threads:[~2007-09-13 12:48 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-11 20:04 [announce] CFS-devel, performance improvements Ingo Molnar
2007-09-12  0:42 ` Roman Zippel
2007-09-13  7:52   ` Ingo Molnar
2007-09-13 12:35     ` Roman Zippel
2007-09-13 14:28       ` Ingo Molnar
2007-09-13 16:50         ` Roman Zippel
2007-09-13 17:06           ` Peter Zijlstra
2007-09-13 17:09             ` Peter Zijlstra
2007-09-14 12:04             ` Roman Zippel
2007-09-14 12:17               ` Peter Zijlstra
2007-09-13 18:28           ` Kyle Moffett
2007-09-13 19:08             ` Peter Zijlstra
2007-09-14 15:26           ` Arjan van de Ven
2007-09-14 14:50             ` Roman Zippel
2007-09-14 15:56               ` Arjan van de Ven
2007-09-14 15:13                 ` Roman Zippel
2007-09-13 19:01       ` Sam Ravnborg
2007-09-14 12:26         ` Roman Zippel
2007-09-12  1:16 ` Rob Hussey
2007-09-13  8:42   ` Rob Hussey
2007-09-13  9:06     ` Ingo Molnar
2007-09-13  9:24       ` Rob Hussey
2007-09-13  9:31         ` Ingo Molnar
2007-09-13  9:36           ` Rob Hussey
2007-09-13  9:43             ` Rob Hussey
2007-09-13 10:17               ` Rob Hussey
2007-09-13 11:48             ` Ingo Molnar
2007-09-14  1:47               ` Rob Hussey
2007-09-14  2:26                 ` Rob Hussey
2007-09-14  6:59                 ` Kyle Moffett
2007-09-12  6:20 ` Mike Galbraith
2007-09-12 22:17 ` Roman Zippel
2007-09-13  7:17   ` debian developer
2007-09-13  7:34   ` debian developer
2007-09-13  9:19   ` Ingo Molnar
2007-09-13 11:35   ` Peter Zijlstra
2007-09-13 12:14     ` Roman Zippel
2007-09-13 12:44       ` Peter Zijlstra
2007-09-14 11:16         ` Peter Zijlstra
2007-09-13 12:47   ` Ingo Molnar [this message]
2007-09-14 11:46     ` Roman Zippel
2007-09-13 23:08   ` Willy Tarreau
2007-09-14 13:10     ` Roman Zippel
2007-09-14 17:54       ` Willy Tarreau
  -- strict thread matches above, loose matches on Subject: below --
2007-09-13 22:51 dimm
2007-09-14  8:13 ` Ingo Molnar
2007-09-14  8:13 ` Ingo Molnar
2007-09-13 23:25 dimm
2007-09-14  8:17 ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070913124738.GA4450@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=efault@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=zippel@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox