public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: William Lee Irwin III <wli@holomorphy.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: "Li, Tong N" <tong.n.li@intel.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Nick Piggin <npiggin@suse.de>,
	Juliusz Chroboczek <jch@pps.jussieu.fr>,
	Con Kolivas <kernel@kolivas.org>, ck list <ck@vds.kolivas.org>,
	Bill Davidsen <davidsen@tmr.com>, Willy Tarreau <w@1wt.eu>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Mike Galbraith <efault@gmx.de>,
	Arjan van de Ven <arjan@infradead.org>,
	Peter Williams <pwil3058@bigpond.net.au>,
	Thomas Gleixner <tglx@linutronix.de>,
	caglar@pardus.org.tr, Gene Heskett <gene.heskett@gmail.com>
Subject: Re: [REPORT] cfs-v4 vs sd-0.44
Date: Wed, 25 Apr 2007 04:58:40 -0700	[thread overview]
Message-ID: <20070425115840.GT31925@holomorphy.com> (raw)
In-Reply-To: <20070425094403.GA3290@elte.hu>

* Li, Tong N <tong.n.li@intel.com> wrote:
>> [...] A corollary of this is that if both threads i and j are 
>> continuously runnable with fixed weights in the time interval, then 
>> the ratio of their CPU time should be equal to the ratio of their 
>> weights. This definition is pretty restrictive since it requires the 
>> properties to hold for any thread in any interval, which is not 
>> feasible. [...]

On Wed, Apr 25, 2007 at 11:44:03AM +0200, Ingo Molnar wrote:
> yes, it's a pretty strong definition, but also note that while it is 
> definitely not easy to implement, the solution is nevertheless feasible 
> in my opinion and there exists a scheduler that implements it: CFS.

The feasibility comment refers to the unimplementability of schedulers
with infinitesimal timeslices/quanta/sched_granularity_ns. It's no
failing of cfs (or any other scheduler) if, say, the ratios are not
exact within a time interval of one nanosecond or one picosecond.

One of the reasons you get the results you do is that what you use for
->fair_key is very close to the definition of lag, which is used as a
metric of fairness. It differs is in a couple of ways, but how it's
computed and used for queueing can be altered to more precisely match.

The basic concept you appear to be trying to implement is a greedy
algorithm: run the task with the largest lag first. As far as I can
tell, this is sound enough, though I have no formal proof. So with the
lag computation and queueing adjusted appropriately, it should work out.

Adjustments to the lag computation for for arrivals and departures
during execution are among the missing pieces. Some algorithmic devices
are also needed to account for the varying growth rates of lags of tasks
waiting to run, which arise from differing priorities/weights.

There are no mysteries.


-- wli

  reply	other threads:[~2007-04-25 11:59 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-20 14:04 [patch] CFS scheduler, v4 Ingo Molnar
2007-04-20 21:37 ` Gene Heskett
2007-04-21 20:47   ` S.Çağlar Onur
2007-04-22  1:22     ` Gene Heskett
2007-04-20 21:39 ` mdew .
2007-04-21  6:47   ` Ingo Molnar
2007-04-21  7:55     ` [patch] CFS scheduler, v4, for v2.6.20.7 Ingo Molnar
2007-04-21 12:12 ` [REPORT] cfs-v4 vs sd-0.44 Willy Tarreau
2007-04-21 12:40   ` Con Kolivas
2007-04-21 13:02     ` Willy Tarreau
2007-04-21 15:46   ` Ingo Molnar
2007-04-21 16:18     ` Willy Tarreau
2007-04-21 16:34       ` Linus Torvalds
2007-04-21 16:42         ` William Lee Irwin III
2007-04-21 18:55           ` Kyle Moffett
2007-04-21 19:49             ` Ulrich Drepper
2007-04-21 23:17               ` William Lee Irwin III
2007-04-21 23:35               ` Linus Torvalds
2007-04-22  1:46                 ` Ulrich Drepper
2007-04-22  7:02                   ` William Lee Irwin III
2007-04-22  7:17                     ` Ulrich Drepper
2007-04-22  8:48                       ` William Lee Irwin III
2007-04-22 16:16                         ` Ulrich Drepper
2007-04-23  0:07                           ` Rusty Russell
2007-04-21 16:53         ` Willy Tarreau
2007-04-21 16:53         ` Ingo Molnar
2007-04-21 16:57           ` Willy Tarreau
2007-04-21 18:09           ` Ulrich Drepper
2007-04-21 17:03       ` Geert Bosch
2007-04-21 15:55   ` Con Kolivas
2007-04-21 16:00     ` Ingo Molnar
2007-04-21 16:12       ` Willy Tarreau
2007-04-21 16:39       ` William Lee Irwin III
2007-04-21 17:15       ` Jan Engelhardt
2007-04-21 19:00         ` Ingo Molnar
2007-04-22 13:18           ` Mark Lord
2007-04-22 13:27             ` Ingo Molnar
2007-04-22 13:30               ` Mark Lord
2007-04-25  8:16               ` Pavel Machek
2007-04-25  8:22                 ` Ingo Molnar
2007-04-25 10:19                 ` Alan Cox
2007-04-21 22:54       ` Denis Vlasenko
2007-04-22  0:08         ` Con Kolivas
2007-04-22  4:58           ` Mike Galbraith
2007-04-21 23:59       ` Con Kolivas
2007-04-22 13:04         ` Juliusz Chroboczek
2007-04-22 23:24           ` Linus Torvalds
2007-04-23  1:34             ` Nick Piggin
2007-04-23 15:56               ` Linus Torvalds
2007-04-23 19:11                 ` Ingo Molnar
2007-04-23 19:52                   ` Linus Torvalds
2007-04-23 20:33                     ` Ingo Molnar
2007-04-23 20:44                       ` Ingo Molnar
2007-04-23 21:03                         ` Ingo Molnar
2007-04-23 21:53                       ` Guillaume Chazarain
2007-04-24  7:04                       ` Rogan Dawes
2007-04-24  7:31                         ` Ingo Molnar
2007-04-24  8:25                           ` Rogan Dawes
2007-04-24 15:03                             ` Chris Friesen
2007-04-24 15:07                               ` Rogan Dawes
2007-04-24 15:15                                 ` Chris Friesen
2007-04-24 23:55                                 ` Peter Williams
2007-04-25  9:29                                 ` Ingo Molnar
2007-04-23 22:48                     ` Jeremy Fitzhardinge
2007-04-24  0:59                       ` Li, Tong N
2007-04-24  1:57                         ` Bill Huey
2007-04-24 18:01                           ` Li, Tong N
2007-04-24 21:27                         ` William Lee Irwin III
2007-04-24 22:18                           ` Bernd Eckenfels
2007-04-25  1:22                           ` Li, Tong N
2007-04-25  6:05                             ` William Lee Irwin III
2007-04-25  9:44                             ` Ingo Molnar
2007-04-25 11:58                               ` William Lee Irwin III [this message]
2007-04-25 20:13                                 ` Willy Tarreau
2007-04-26 17:57                                   ` Li, Tong N
2007-04-26 19:18                                     ` Willy Tarreau
2007-04-28 15:12                                       ` Bernd Eckenfels
2007-04-26 23:26                                     ` William Lee Irwin III
2007-04-24  3:46                     ` Peter Williams
2007-04-24  4:52                       ` Arjan van de Ven
2007-04-24  6:21                         ` Peter Williams
2007-04-24  6:36                           ` Ingo Molnar
2007-04-24  7:00                             ` Gene Heskett
2007-04-24  7:08                               ` Ingo Molnar
2007-04-24  6:45                                 ` David Lang
2007-04-24  7:24                                   ` Ingo Molnar
2007-04-24 14:38                                     ` Gene Heskett
2007-04-24 17:44                                       ` Willy Tarreau
2007-04-25  0:30                                         ` Gene Heskett
2007-04-25  0:32                                         ` Gene Heskett
2007-04-24  7:12                                 ` Gene Heskett
2007-04-24  7:14                                   ` Ingo Molnar
2007-04-24 14:36                                     ` Gene Heskett
2007-04-24  7:25                                 ` Ingo Molnar
2007-04-24 14:39                                   ` Gene Heskett
2007-04-24 14:42                                   ` Gene Heskett
2007-04-24  7:33                                 ` Ingo Molnar
2007-04-26  0:51                             ` SD renice recommendation was: " Con Kolivas
2007-04-24 15:08                     ` Ray Lee
2007-04-25  9:32                       ` Ingo Molnar
2007-04-23 20:05                   ` Willy Tarreau
2007-04-24 21:05                   ` 'Scheduler Economy' prototype patch for CFS Ingo Molnar
2007-04-23  2:42             ` [report] renicing X, cfs-v5 vs sd-0.46 Ingo Molnar
2007-04-23 15:09               ` Linus Torvalds
2007-04-23 17:19                 ` Gene Heskett
2007-04-23 17:19                 ` Gene Heskett
2007-04-23 19:48                 ` Ingo Molnar
2007-04-23 20:56                   ` Michael K. Edwards
2007-04-22 13:23         ` [REPORT] cfs-v4 vs sd-0.44 Mark Lord
2007-04-21 18:17   ` Gene Heskett
2007-04-22  1:26     ` Con Kolivas
2007-04-22  2:07       ` Gene Heskett
2007-04-22  8:07     ` William Lee Irwin III
2007-04-22 11:11       ` Gene Heskett
2007-04-22  1:51   ` Con Kolivas
2007-04-21 20:35 ` [patch] CFS scheduler, v4 S.Çağlar Onur
2007-04-22  8:30 ` Michael Gerdau
2007-04-23 22:47   ` Ingo Molnar
2007-04-23  1:12 ` [patch] CFS scheduler, -v5 Ingo Molnar
2007-04-23  1:25   ` Nick Piggin
2007-04-23  2:39     ` Gene Heskett
2007-04-23  3:08       ` Ingo Molnar
2007-04-23  2:55     ` Ingo Molnar
2007-04-23  3:22       ` Nick Piggin
2007-04-23  3:43         ` Ingo Molnar
2007-04-23  4:06           ` Nick Piggin
2007-04-23  7:10             ` Ingo Molnar
2007-04-23  7:25               ` Nick Piggin
2007-04-23  7:35                 ` Ingo Molnar
2007-04-23  9:25             ` Ingo Molnar
2007-04-23  3:19   ` [patch] CFS scheduler, -v5 (build problem - make headers_check fails) Zach Carter
2007-04-23 10:03     ` Ingo Molnar
2007-04-23  5:16   ` [patch] CFS scheduler, -v5 Markus Trippelsdorf
2007-04-23  5:27     ` Markus Trippelsdorf
2007-04-23  6:21       ` Ingo Molnar
2007-04-25 11:43         ` Srivatsa Vaddagiri
2007-04-25 12:51           ` Ingo Molnar
2007-04-23 12:20   ` Guillaume Chazarain
2007-04-23 12:36     ` Ingo Molnar
2007-04-24 16:54   ` Christian Hesse
2007-04-25  9:25     ` Ingo Molnar
2007-04-25 10:51       ` Christian Hesse
2007-04-25 10:56         ` Ingo Molnar
2007-04-23  9:28 ` crash with CFS v4 and qemu/kvm (was: [patch] CFS scheduler, v4) Christian Hesse
2007-04-23 10:18   ` Ingo Molnar
2007-04-24 10:54     ` Christian Hesse
  -- strict thread matches above, loose matches on Subject: below --
2007-04-22  4:38 [REPORT] cfs-v4 vs sd-0.44 Al Boldi

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=20070425115840.GT31925@holomorphy.com \
    --to=wli@holomorphy.com \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=caglar@pardus.org.tr \
    --cc=ck@vds.kolivas.org \
    --cc=davidsen@tmr.com \
    --cc=efault@gmx.de \
    --cc=gene.heskett@gmail.com \
    --cc=jch@pps.jussieu.fr \
    --cc=jeremy@goop.org \
    --cc=kernel@kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=npiggin@suse.de \
    --cc=pwil3058@bigpond.net.au \
    --cc=tglx@linutronix.de \
    --cc=tong.n.li@intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=w@1wt.eu \
    /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