From: Con Kolivas <kernel@kolivas.org>
To: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>, Willy Tarreau <w@1wt.eu>,
Linus Torvalds <torvalds@linux-foundation.org>,
Xavier Bestel <xavier.bestel@free.fr>, Mark Lord <lkml@rtr.ca>,
Al Boldi <a1426z@gawab.com>,
ck@vds.kolivas.org, Serge Belyshev <belyshev@depni.sinp.msu.ru>,
Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org, Nicholas Miell <nmiell@comcast.net>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: RSDL v0.31
Date: Fri, 23 Mar 2007 16:59:19 +1100 [thread overview]
Message-ID: <200703231659.20291.kernel@kolivas.org> (raw)
In-Reply-To: <1174624794.6554.64.camel@Homer.simpson.net>
On Friday 23 March 2007 15:39, Mike Galbraith wrote:
> On Fri, 2007-03-23 at 09:50 +1100, Con Kolivas wrote:
> > Now to figure out some meaningful cheap way of improving this accounting.
>
> The accounting is easy iff tick resolution is good enough, the deadline
> mechanism is harder. I did the "quota follows task" thing, but nothing
> good happens. That just ensured that the deadline mechanism kicks in
> constantly because tick theft is a fact of tick-based life. A
> reasonable fudge factor would help, but...
>
> I see problems wrt with trying to implement the deadline mechanism.
>
> As implemented, it can't identify who is doing the stealing (which
> happens constantly, even if userland if 100% hog) because of tick
> resolution accounting. If you can't identify the culprit, you can't
> enforce the quota, and quotas which are not enforced are, strictly
> speaking, not quotas. At tick time, you can only close the barn door
> after the cow has been stolen, and the thief can theoretically visit
> your barn an infinite number of times while you aren't watching the
> door. ("don't blink" scenarios, and tick is backward-assward blink)
>
> You can count nanoseconds in schedule, and store the actual usage, but
> then you still have the problem of inaccuracies in sched_clock() from
> cross-cpu wakeup and migration. Cross-cpu wakeups happen quite a lot.
> If sched_clock() _were_ absolutely accurate, you wouldn't need the
> runqueue deadline mechanism, because at slice tick time you can see
> everything you will ever see without moving enforcement directly into
> the most critical of paths.
>
> IMHO, unless it can be demonstrated that timeslice theft is a problem
> with a real-life scenario, you'd be better off dropping the queue
> ticking. Time slices are a deadline mechanism, and in practice the god
> of randomness ensures that even fast movers do get caught often enough
> to make ticking tasks sufficient.
>
> (that was a very long-winded reply to one sentence because I spent a lot
> of time looking into this very subject and came to the conclusion that
> you can't get there from here. fwiw, ymmv and all that of course;)
>
> > Thanks again!
>
> You're welcome.
The deadline mechanism is easy to hit and works. Try printk'ing it. There is
some leeway to take tick accounting into the equation and I don't believe
nanosecond resolution is required at all for this (how much leeway would you
give then ;)). Eventually there is nothing to stop us using highres timers
(blessed if they work as planned everywhere eventually) to do the events and
do away with scheduler_tick entirely. For now ticks works fine; a reasonable
estimate for smp migration will suffice (patch forthcoming).
--
-ck
next prev parent reply other threads:[~2007-03-23 5:55 UTC|newest]
Thread overview: 197+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-04 20:35 [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler Al Boldi
2007-03-04 21:49 ` Con Kolivas
[not found] ` <45EB45F7.3050208@simon.arlott.org.uk>
2007-03-04 22:27 ` Con Kolivas
2007-03-05 18:29 ` Simon Arlott
2007-03-05 21:36 ` Con Kolivas
2007-03-04 23:13 ` Willy Tarreau
2007-03-04 23:58 ` Con Kolivas
2007-03-05 0:10 ` [ck] " jos poortvliet
2007-03-05 1:09 ` Gene Heskett
[not found] ` <200703050834.45712.a1426z@gawab.com>
[not found] ` <20070305060732.GQ30401@nysv.org>
2007-03-05 11:59 ` [ck] " Al Boldi
2007-03-05 12:29 ` Con Kolivas
[not found] ` <200703052123.01095.a1426z@gawab.com>
2007-03-05 22:10 ` Con Kolivas
2007-03-06 8:42 ` Xavier Bestel
2007-03-06 15:15 ` Al Boldi
2007-03-11 18:11 ` Al Boldi
2007-03-11 21:52 ` Con Kolivas
2007-03-11 22:12 ` Con Kolivas
2007-03-12 4:42 ` Al Boldi
2007-03-12 4:53 ` Con Kolivas
2007-03-12 11:26 ` Al Boldi
2007-03-12 12:52 ` Con Kolivas
2007-03-12 14:14 ` Al Boldi
2007-03-12 14:58 ` [ck] " jos poortvliet
2007-03-12 16:37 ` michael chang
2007-03-12 17:41 ` Al Boldi
2007-03-12 18:05 ` Con Kolivas
2007-03-12 18:47 ` [ck] " jos poortvliet
2007-03-12 18:58 ` Antonio Vargas
2007-03-19 10:47 ` Helge Hafting
2007-03-18 1:30 ` Bill Davidsen
2007-03-18 10:50 ` [ck] " jos poortvliet
2007-03-13 15:31 ` [PATCH] [RSDL-0.30] sched: rsdl improve latencies with differential nice Con Kolivas
2007-03-13 16:03 ` [PATCH] [RSDL-0.30] sched: rsdl improve latencies with differential nice -1 Con Kolivas
2007-03-13 16:08 ` Con Kolivas
2007-03-13 20:58 ` Con Kolivas
2007-03-13 23:08 ` RSDL development plans Con Kolivas
2007-03-16 12:25 ` Con Kolivas
2007-03-16 13:40 ` RSDL v0.31 Con Kolivas
2007-03-16 15:34 ` Mike Galbraith
2007-03-16 21:13 ` Con Kolivas
2007-03-16 22:30 ` Mike Galbraith
2007-03-16 23:05 ` [ck] " Dirk Schoebel
2007-03-17 4:24 ` Nicholas Miell
2007-03-17 5:56 ` Mike Galbraith
2007-03-17 6:08 ` Mike Galbraith
2007-03-17 13:56 ` Ed Tomlinson
2007-03-18 19:37 ` Lee Revell
2007-03-18 19:55 ` Mike Galbraith
2007-03-18 22:45 ` Szonyi Calin
2007-03-19 2:27 ` David Schwartz
2007-03-19 6:21 ` Mike Galbraith
2007-03-19 6:59 ` Willy Tarreau
2007-03-17 6:26 ` Nicholas Miell
2007-03-17 7:11 ` Mike Galbraith
2007-03-17 7:25 ` William Lee Irwin III
2007-03-17 7:29 ` Nicholas Miell
2007-03-17 11:48 ` Gene Heskett
2007-03-17 7:45 ` Ingo Molnar
2007-03-17 7:44 ` David Lang
2007-03-17 8:46 ` Mike Galbraith
2007-03-17 14:09 ` [ck] " Mark Glines
2007-03-17 14:33 ` Mike Galbraith
2007-03-17 14:54 ` Mark Glines
2007-03-17 14:58 ` Mike Galbraith
2007-03-17 8:23 ` Nicholas Miell
2007-03-17 9:42 ` [patch] CFS scheduler: Completely Fair Scheduler / CONFIG_SCHED_FAIR Ingo Molnar
2007-03-17 8:41 ` RSDL v0.31 Serge Belyshev
2007-03-17 9:48 ` Con Kolivas
2007-03-17 9:58 ` Mike Galbraith
2007-03-17 10:49 ` Mike Galbraith
2007-03-17 12:05 ` Gene Heskett
2007-03-17 13:36 ` Mike Galbraith
2007-03-17 17:03 ` Gene Heskett
2007-03-17 17:37 ` Mike Galbraith
2007-03-17 18:23 ` [ck] " Kacper Wysocki
2007-03-17 18:45 ` Mike Galbraith
2007-03-17 13:58 ` michael chang
2007-03-17 20:55 ` Al Boldi
2007-03-18 6:17 ` Mike Galbraith
2007-03-18 6:47 ` Kasper Sandberg
2007-03-18 7:08 ` Mike Galbraith
2007-03-18 7:22 ` [ck] " Radoslaw Szkodzinski
2007-03-18 7:38 ` Mike Galbraith
2007-03-18 8:04 ` Mike Galbraith
2007-03-18 8:20 ` jimmy bahuleyan
2007-03-18 8:34 ` Mike Galbraith
2007-03-18 9:57 ` Kasper Sandberg
2007-03-18 13:57 ` Avuton Olrich
2007-03-19 20:47 ` Bill Davidsen
2007-03-20 10:19 ` jos poortvliet
2007-03-21 8:58 ` Kasper Sandberg
2007-03-18 15:44 ` Radoslaw Szkodzinski
2007-03-18 16:09 ` jos poortvliet
2007-03-19 16:07 ` Mark Lord
2007-03-19 16:26 ` Xavier Bestel
2007-03-19 16:36 ` Mark Lord
2007-03-19 16:43 ` Xavier Bestel
2007-03-20 3:11 ` Linus Torvalds
2007-03-20 6:11 ` Willy Tarreau
2007-03-20 8:03 ` Mike Galbraith
2007-03-21 14:57 ` Mike Galbraith
2007-03-21 16:02 ` Peter Zijlstra
2007-03-21 17:06 ` Mike Galbraith
2007-03-22 7:07 ` Mike Galbraith
2007-03-22 9:18 ` Ingo Molnar
2007-03-22 9:34 ` Mike Galbraith
2007-03-22 9:41 ` Mike Galbraith
2007-03-22 22:03 ` Con Kolivas
2007-03-22 22:50 ` Con Kolivas
2007-03-23 4:39 ` Mike Galbraith
2007-03-23 5:59 ` Con Kolivas [this message]
2007-03-23 6:11 ` Mike Galbraith
2007-03-23 12:17 ` Mike Galbraith
[not found] ` <20070321161147.54c7a727@localhost>
2007-03-21 17:07 ` Mike Galbraith
2007-03-22 4:49 ` Willy Tarreau
2007-03-22 7:14 ` Mike Galbraith
2007-03-20 9:03 ` Xavier Bestel
2007-03-20 12:31 ` Artur Skawina
2007-03-20 19:16 ` Artur Skawina
2007-03-21 7:50 ` Ingo Molnar
2007-03-21 10:43 ` David Schwartz
2007-03-28 23:37 ` Bill Davidsen
2007-03-29 7:10 ` David Schwartz
2007-03-29 7:34 ` Nick Piggin
2007-03-20 15:31 ` Linus Torvalds
2007-03-20 18:08 ` Al Boldi
2007-03-21 8:22 ` Keith Duthie
2007-03-28 23:43 ` Bill Davidsen
2007-03-20 10:26 ` [ck] " jos poortvliet
2007-03-20 13:22 ` Mark Lord
2007-03-20 15:16 ` Ray Lee
2007-03-20 15:20 ` Mark Lord
2007-03-21 8:55 ` Kasper Sandberg
2007-03-19 20:53 ` Al Boldi
2007-03-20 19:50 ` Artur Skawina
2007-03-21 4:15 ` Al Boldi
2007-03-21 17:24 ` Artur Skawina
2007-03-19 16:03 ` Mark Lord
2007-03-17 11:49 ` is RSDL an "unfair" scheduler too? Ingo Molnar
2007-03-17 12:02 ` Con Kolivas
2007-03-17 12:23 ` [ck] " jos poortvliet
2007-03-17 17:31 ` David Schwartz
2007-03-17 12:28 ` Ingo Molnar
2007-03-17 12:43 ` Con Kolivas
2007-03-17 16:34 ` Ingo Molnar
2007-03-18 3:23 ` Bill Davidsen
2007-03-18 2:13 ` Bill Davidsen
2007-03-18 3:20 ` Kasper Sandberg
2007-03-18 5:37 ` Mike Galbraith
2007-03-18 10:58 ` [ck] " jos poortvliet
2007-03-17 12:15 ` jos poortvliet
2007-03-17 20:41 ` Avi Kivity
2007-03-18 1:25 ` William Lee Irwin III
2007-03-18 1:32 ` Linus Torvalds
2007-03-18 5:24 ` Willy Tarreau
2007-03-18 5:55 ` Avi Kivity
2007-03-19 2:27 ` David Schwartz
2007-03-19 13:27 ` Radoslaw Szkodzinski
2007-03-19 18:30 ` David Lang
2007-03-19 15:25 ` Avi Kivity
2007-03-19 16:06 ` Helge Hafting
2007-03-19 16:37 ` Avi Kivity
2007-03-18 6:09 ` Bill Huey
2007-03-18 6:37 ` Mike Galbraith
2007-03-18 7:35 ` Bill Huey
2007-03-19 21:14 ` Bill Davidsen
2007-03-18 6:26 ` Mike Galbraith
2007-03-18 6:54 ` [ck] " Radoslaw Szkodzinski
2007-03-18 7:58 ` Willy Tarreau
2007-03-18 8:45 ` Avi Kivity
2007-03-18 5:00 ` Avi Kivity
2007-03-17 15:13 ` RSDL v0.31 Mark Hahn
2007-03-17 17:22 ` Stephen Clark
2007-03-19 15:06 ` Chris Friesen
2007-03-17 7:56 ` Ingo Molnar
2007-03-17 11:07 ` [ck] " jos poortvliet
2007-03-17 12:44 ` Ingo Molnar
2007-03-17 13:44 ` jos poortvliet
2007-03-17 14:04 ` [ck] " Ed Tomlinson
2007-03-17 14:32 ` Rik van Riel
2007-03-17 14:43 ` Mike Galbraith
2007-03-17 15:39 ` Ingo Molnar
2007-03-16 17:12 ` AshMilsted
2007-03-16 17:41 ` Gabriel C
2007-03-16 21:55 ` Al Boldi
2007-03-17 2:51 ` Con Kolivas
2007-03-17 4:40 ` Al Boldi
2007-03-17 4:57 ` Con Kolivas
2007-03-17 5:15 ` Gene Heskett
2007-03-17 13:50 ` Ed Tomlinson
2007-03-17 16:12 ` Al Boldi
2007-03-16 13:42 ` RSDL development plans Mike Galbraith
2007-03-16 13:59 ` Con Kolivas
2007-03-16 14:07 ` Mike Galbraith
2007-03-14 9:13 ` [PATCH] [RSDL-0.30] sched: rsdl improve latencies with differential nice Mike Galbraith
2007-03-14 9:25 ` Con Kolivas
2007-03-14 9:42 ` Mike Galbraith
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=200703231659.20291.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=a.p.zijlstra@chello.nl \
--cc=a1426z@gawab.com \
--cc=akpm@linux-foundation.org \
--cc=belyshev@depni.sinp.msu.ru \
--cc=ck@vds.kolivas.org \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@rtr.ca \
--cc=mingo@elte.hu \
--cc=nmiell@comcast.net \
--cc=torvalds@linux-foundation.org \
--cc=w@1wt.eu \
--cc=xavier.bestel@free.fr \
/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
Powered by JetHome