Re: RSDL v0.31

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mike Galbraith
Date: Thursday, March 22, 2007 - 9:39 pm

On Fri, 2007-03-23 at 09:50 +1100, Con Kolivas wrote:


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;)


You're welcome.

	-Mike

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
RSDL development plans, Con Kolivas, (Tue Mar 13, 4:08 pm)
Re: RSDL development plans, Con Kolivas, (Fri Mar 16, 5:25 am)
RSDL v0.31, Con Kolivas, (Fri Mar 16, 6:40 am)
Re: RSDL development plans, Mike Galbraith, (Fri Mar 16, 6:42 am)
Re: RSDL development plans, Con Kolivas, (Fri Mar 16, 6:59 am)
Re: RSDL development plans, Mike Galbraith, (Fri Mar 16, 7:07 am)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 16, 8:34 am)
Re: RSDL v0.31, AshMilsted, (Fri Mar 16, 10:12 am)
Re: RSDL v0.31, Gabriel C, (Fri Mar 16, 10:41 am)
Re: RSDL v0.31, Con Kolivas, (Fri Mar 16, 2:13 pm)
Re: RSDL v0.31, Al Boldi, (Fri Mar 16, 2:55 pm)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 16, 3:30 pm)
Re: [ck] Re: RSDL v0.31, Dirk Schoebel, (Fri Mar 16, 4:05 pm)
Re: RSDL v0.31, Con Kolivas, (Fri Mar 16, 7:51 pm)
Re: RSDL v0.31, Nicholas Miell, (Fri Mar 16, 9:24 pm)
Re: RSDL v0.31, Al Boldi, (Fri Mar 16, 9:40 pm)
Re: RSDL v0.31, Con Kolivas, (Fri Mar 16, 9:57 pm)
Re: RSDL v0.31, Gene Heskett, (Fri Mar 16, 10:15 pm)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 16, 10:56 pm)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 16, 11:08 pm)
Re: RSDL v0.31, Nicholas Miell, (Fri Mar 16, 11:26 pm)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 12:11 am)
Re: RSDL v0.31, William Lee Irwin III, (Sat Mar 17, 12:25 am)
Re: RSDL v0.31, Nicholas Miell, (Sat Mar 17, 12:29 am)
Re: RSDL v0.31, David Lang, (Sat Mar 17, 12:44 am)
Re: RSDL v0.31, Ingo Molnar, (Sat Mar 17, 12:45 am)
Re: RSDL v0.31, Ingo Molnar, (Sat Mar 17, 12:56 am)
Re: RSDL v0.31, Nicholas Miell, (Sat Mar 17, 1:23 am)
Re: RSDL v0.31, Serge Belyshev, (Sat Mar 17, 1:41 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 1:46 am)
Re: RSDL v0.31, Con Kolivas, (Sat Mar 17, 2:48 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 2:58 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 3:49 am)
Re: [ck] Re: RSDL v0.31, jos poortvliet, (Sat Mar 17, 4:07 am)
Re: RSDL v0.31, Gene Heskett, (Sat Mar 17, 4:48 am)
Re: is RSDL an "unfair" scheduler too?, Ingo Molnar, (Sat Mar 17, 4:49 am)
Re: is RSDL an "unfair" scheduler too?, Con Kolivas, (Sat Mar 17, 5:02 am)
Re: RSDL v0.31, Gene Heskett, (Sat Mar 17, 5:05 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, jos poortvliet, (Sat Mar 17, 5:15 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, jos poortvliet, (Sat Mar 17, 5:23 am)
Re: is RSDL an "unfair" scheduler too?, Ingo Molnar, (Sat Mar 17, 5:28 am)
Re: is RSDL an "unfair" scheduler too?, Con Kolivas, (Sat Mar 17, 5:43 am)
Re: RSDL v0.31, Ingo Molnar, (Sat Mar 17, 5:44 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 6:36 am)
Re: RSDL v0.31, jos poortvliet, (Sat Mar 17, 6:44 am)
Re: RSDL v0.31, Ed Tomlinson, (Sat Mar 17, 6:50 am)
Re: RSDL v0.31, Ed Tomlinson, (Sat Mar 17, 6:56 am)
Re: [ck] Re: RSDL v0.31, michael chang, (Sat Mar 17, 6:58 am)
Re: [ck] Re: RSDL v0.31, Ed Tomlinson, (Sat Mar 17, 7:04 am)
Re: [ck] Re: RSDL v0.31, Mark Glines, (Sat Mar 17, 7:09 am)
Re: RSDL v0.31, Rik van Riel, (Sat Mar 17, 7:32 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 7:33 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 7:43 am)
Re: [ck] Re: RSDL v0.31, Mark Glines, (Sat Mar 17, 7:54 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 7:58 am)
Re: RSDL v0.31, Mark Hahn, (Sat Mar 17, 8:13 am)
Re: RSDL v0.31, Ingo Molnar, (Sat Mar 17, 8:39 am)
Re: RSDL v0.31, Al Boldi, (Sat Mar 17, 9:12 am)
Re: is RSDL an "unfair" scheduler too?, Ingo Molnar, (Sat Mar 17, 9:34 am)
Re: RSDL v0.31, Gene Heskett, (Sat Mar 17, 10:03 am)
Re: RSDL v0.31, Stephen Clark, (Sat Mar 17, 10:22 am)
RE: [ck] Re: is RSDL an "unfair" scheduler too?, David Schwartz, (Sat Mar 17, 10:31 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 10:37 am)
Re: [ck] Re: RSDL v0.31, Kacper Wysocki, (Sat Mar 17, 11:23 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 11:45 am)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Sat Mar 17, 1:41 pm)
Re: RSDL v0.31, Al Boldi, (Sat Mar 17, 1:55 pm)
Re: is RSDL an "unfair" scheduler too?, William Lee Irwin III, (Sat Mar 17, 6:25 pm)
Re: is RSDL an "unfair" scheduler too?, Linus Torvalds, (Sat Mar 17, 6:32 pm)
Re: is RSDL an "unfair" scheduler too?, Bill Davidsen, (Sat Mar 17, 7:13 pm)
Re: is RSDL an "unfair" scheduler too?, Kasper Sandberg, (Sat Mar 17, 8:20 pm)
Re: is RSDL an "unfair" scheduler too?, Bill Davidsen, (Sat Mar 17, 8:23 pm)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Sat Mar 17, 10:00 pm)
Re: is RSDL an "unfair" scheduler too?, Willy Tarreau, (Sat Mar 17, 10:24 pm)
Re: is RSDL an "unfair" scheduler too?, Mike Galbraith, (Sat Mar 17, 10:37 pm)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Sat Mar 17, 10:55 pm)
Re: is RSDL an "unfair" scheduler too?, Bill Huey, (Sat Mar 17, 11:09 pm)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 11:17 pm)
Re: is RSDL an "unfair" scheduler too?, Mike Galbraith, (Sat Mar 17, 11:26 pm)
Re: is RSDL an "unfair" scheduler too?, Mike Galbraith, (Sat Mar 17, 11:37 pm)
Re: RSDL v0.31, Kasper Sandberg, (Sat Mar 17, 11:47 pm)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, Radoslaw Szkodzinski, (Sat Mar 17, 11:54 pm)
Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 12:08 am)
Re: [ck] Re: RSDL v0.31, Radoslaw Szkodzinski, (Sun Mar 18, 12:22 am)
Re: is RSDL an "unfair" scheduler too?, Bill Huey, (Sun Mar 18, 12:35 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 12:38 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, Willy Tarreau, (Sun Mar 18, 12:58 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 1:04 am)
Re: [ck] Re: RSDL v0.31, jimmy bahuleyan, (Sun Mar 18, 1:20 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 1:34 am)
Re: [ck] Re: RSDL v0.31, Kasper Sandberg, (Sun Mar 18, 2:57 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, jos poortvliet, (Sun Mar 18, 3:58 am)
Re: [ck] Re: RSDL v0.31, Avuton Olrich, (Sun Mar 18, 6:57 am)
Re: [ck] Re: RSDL v0.31, Radoslaw Szkodzinski, (Sun Mar 18, 8:44 am)
Re: [ck] Re: RSDL v0.31, jos poortvliet, (Sun Mar 18, 9:09 am)
Re: RSDL v0.31, Lee Revell, (Sun Mar 18, 12:37 pm)
Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 12:55 pm)
Re: RSDL v0.31, Szonyi Calin, (Sun Mar 18, 3:45 pm)
RE: is RSDL an "unfair" scheduler too?, David Schwartz, (Sun Mar 18, 7:27 pm)
RE: RSDL v0.31, David Schwartz, (Sun Mar 18, 7:27 pm)
RE: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 11:21 pm)
Re: RSDL v0.31, Willy Tarreau, (Sun Mar 18, 11:59 pm)
Re: is RSDL an "unfair" scheduler too?, Radoslaw Szkodzinski, (Mon Mar 19, 6:27 am)
Re: RSDL v0.31, Chris Friesen, (Mon Mar 19, 8:06 am)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Mon Mar 19, 8:25 am)
Re: RSDL v0.31, Mark Lord, (Mon Mar 19, 9:03 am)
Re: is RSDL an "unfair" scheduler too?, Helge Hafting, (Mon Mar 19, 9:06 am)
Re: RSDL v0.31, Mark Lord, (Mon Mar 19, 9:07 am)
Re: RSDL v0.31, Xavier Bestel, (Mon Mar 19, 9:26 am)
Re: RSDL v0.31, Mark Lord, (Mon Mar 19, 9:36 am)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Mon Mar 19, 9:37 am)
Re: RSDL v0.31, Xavier Bestel, (Mon Mar 19, 9:43 am)
Re: is RSDL an "unfair" scheduler too?, David Lang, (Mon Mar 19, 11:30 am)
Re: [ck] Re: RSDL v0.31, Bill Davidsen, (Mon Mar 19, 1:47 pm)
Re: RSDL v0.31, Al Boldi, (Mon Mar 19, 1:53 pm)
Re: is RSDL an "unfair" scheduler too?, Bill Davidsen, (Mon Mar 19, 2:14 pm)
Re: RSDL v0.31, Linus Torvalds, (Mon Mar 19, 8:11 pm)
Re: RSDL v0.31, Willy Tarreau, (Mon Mar 19, 11:11 pm)
Re: RSDL v0.31, Mike Galbraith, (Tue Mar 20, 1:03 am)
Re: RSDL v0.31, Xavier Bestel, (Tue Mar 20, 2:03 am)
Re: [ck] Re: RSDL v0.31, jos poortvliet, (Tue Mar 20, 3:19 am)
Re: [ck] Re: RSDL v0.31, jos poortvliet, (Tue Mar 20, 3:26 am)
Re: RSDL v0.31, Artur Skawina, (Tue Mar 20, 5:31 am)
Re: RSDL v0.31, Mark Lord, (Tue Mar 20, 6:22 am)
Re: RSDL v0.31, Ray Lee, (Tue Mar 20, 8:16 am)
Re: RSDL v0.31, Mark Lord, (Tue Mar 20, 8:20 am)
Re: RSDL v0.31, Linus Torvalds, (Tue Mar 20, 8:31 am)
Re: RSDL v0.31, Al Boldi, (Tue Mar 20, 11:08 am)
Re: RSDL v0.31, Artur Skawina, (Tue Mar 20, 12:16 pm)
Re: RSDL v0.31, Artur Skawina, (Tue Mar 20, 12:50 pm)
Re: RSDL v0.31, Al Boldi, (Tue Mar 20, 9:15 pm)
Re: RSDL v0.31, Ingo Molnar, (Wed Mar 21, 12:50 am)
Re: RSDL v0.31, Keith Duthie, (Wed Mar 21, 1:22 am)
Re: RSDL v0.31, Kasper Sandberg, (Wed Mar 21, 1:55 am)
Re: [ck] Re: RSDL v0.31, Kasper Sandberg, (Wed Mar 21, 1:58 am)
RE: RSDL v0.31, David Schwartz, (Wed Mar 21, 3:43 am)
Re: RSDL v0.31, Mike Galbraith, (Wed Mar 21, 7:57 am)
Re: RSDL v0.31, Peter Zijlstra, (Wed Mar 21, 9:02 am)
Re: RSDL v0.31, Mike Galbraith, (Wed Mar 21, 10:06 am)
Re: RSDL v0.31, Artur Skawina, (Wed Mar 21, 10:24 am)
Re: RSDL v0.31, Mike Galbraith, (Thu Mar 22, 12:07 am)
Re: RSDL v0.31, Ingo Molnar, (Thu Mar 22, 2:18 am)
Re: RSDL v0.31, Mike Galbraith, (Thu Mar 22, 2:34 am)
Re: RSDL v0.31, Mike Galbraith, (Thu Mar 22, 2:41 am)
Re: RSDL v0.31, Con Kolivas, (Thu Mar 22, 3:03 pm)
Re: RSDL v0.31, Con Kolivas, (Thu Mar 22, 3:50 pm)
Re: RSDL v0.31, Mike Galbraith, (Thu Mar 22, 9:39 pm)
Re: RSDL v0.31, Con Kolivas, (Thu Mar 22, 10:59 pm)
Re: RSDL v0.31, Mike Galbraith, (Thu Mar 22, 11:11 pm)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 23, 5:17 am)
Re: RSDL v0.31, Bill Davidsen, (Wed Mar 28, 4:37 pm)
Re: RSDL v0.31, Bill Davidsen, (Wed Mar 28, 4:43 pm)
RE: RSDL v0.31, David Schwartz, (Thu Mar 29, 12:10 am)
Re: RSDL v0.31, Nick Piggin, (Thu Mar 29, 12:34 am)