mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mike Galbraith <efault@gmx.de>
To: Willy Tarreau <w@1wt.eu>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Xavier Bestel <xavier.bestel@free.fr>, Mark Lord <lkml@rtr.ca>,
	Al Boldi <a1426z@gawab.com>, Con Kolivas <kernel@kolivas.org>,
	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: Wed, 21 Mar 2007 15:57:44 +0100	[thread overview]
Message-ID: <1174489064.5379.42.camel@Homer.simpson.net> (raw)
In-Reply-To: <1174377787.9756.21.camel@Homer.simpson.net>

On Tue, 2007-03-20 at 09:03 +0100, Mike Galbraith wrote:

> Moving right along to the bugs part, I hope others are looking as well,
> and not only talking.
> 
> One area that looks pretty fishy to me is cross-cpu wakeups and task
> migration.  p->rotation appears to lose all meaning when you cross the
> cpu boundary, and try_to_wake_up()is using that information in the
> cross-cpu case.  In pull_task() OTOH, it checks to see if the task ran
> on the remote cpu (at all, hmm), and if so tags the task accordingly.

Doing the same in try_to_wake_up()delivered a counter intuitive result.
I expected sleeping tasks to suffer a bit, because when a task wakes up
on a different cpu, the chance of it being in the same rotation is
practically nil, so it would be issued a new quota when it hit
recalc_task_prio() and begin a new walk down the stairs.  In the case
where it's is told that the awakening task is running in the same
rotation (as is done in pull_task, and with the patchlet below), since
p->array isn't NULLed any more when the task is dequeued, there would be
an array (last it was queued in), there's going to be time_slice (see no
way 0 time_slice can happen, and nothing good would happen in
task_running_tick() if it could), and since per instrumentation nobody
is ever overrunning runqueue quota, it should just continue to march
down the stairs, and receive less bandwidth than the full restart.

What happened is below.

'f' is a progglet which sleeps a bit and burns a bit, duration depending
on argument given. 'sh' is a shell 100% hog.  In this scenario, the
argument was set such that 'f' used right at 50% cpu.  All are started
at the same time, and I froze top when the first 'f' reached 1:00.

virgin 2.6.21-rc3-rsdl-smp
top - 13:52:50 up 7 min, 12 users,  load average: 3.45, 2.89, 1.51

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  P COMMAND
 6560 root      31   0  2892 1236 1032 R   82  0.1   1:50.24 1 sh
 6558 root      28   0  1428  276  228 S   42  0.0   1:00.09 1 f
 6557 root      30   0  1424  280  228 R   35  0.0   1:00.25 0 f
 6559 root      39   0  1424  276  228 R   33  0.0   0:58.36 0 f
 6420 root      23   0  2372 1068  764 R    3  0.1   0:04.68 0 top

patched as below 2.6.21-rc3-rsdl-smp
top - 14:09:28 up 6 min, 12 users,  load average: 3.52, 2.70, 1.29

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  P COMMAND
 6517 root      38   0  2892 1240 1032 R   59  0.1   1:31.12 1 sh
 6515 root      24   0  1424  280  228 R   51  0.0   1:00.10 0 f
 6514 root      37   0  1428  280  228 R   42  0.0   1:00.58 1 f
 6516 root      24   0  1428  280  228 R   41  0.0   1:00.01 0 f
 6430 root      23   0  2372 1056  764 R    2  0.1   0:05.53 0 top

--- kernel/sched.c.org	2007-03-15 07:04:51.000000000 +0100
+++ kernel/sched.c	2007-03-21 13:55:22.000000000 +0100
@@ -1416,7 +1416,8 @@ static int try_to_wake_up(struct task_st
 	if (cpu == this_cpu) {
 		schedstat_inc(rq, ttwu_local);
 		goto out_set_cpu;
-	}
+	} else if (p->rotation == cpu_rq(cpu)->prio_rotation)
+		p->rotation = cpu_rq(this_cpu)->prio_rotation;
 
 	for_each_domain(this_cpu, sd) {
 		if (cpu_isset(cpu, sd->span)) {

Same test with virgin 2.6.20.3-smp for reference.
top - 14:46:10 up 18 min, 12 users,  load average: 3.70, 1.89, 1.07

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  P COMMAND
 6529 root      15   0  1424  280  228 S   54  0.0   1:00.26 1 f
 6530 root      15   0  1428  280  228 R   50  0.0   0:59.03 0 f
 6531 root      15   0  1424  280  228 R   48  0.0   0:59.29 1 f
 6532 root      25   0  2892 1240 1032 R   40  0.1   1:00.54 0 sh
 6457 root      15   0  2380 1056  764 R    1  0.1   0:02.34 1 top

I was more than a bit surprised that mainline did this well, considering
that the proggy was one someone posted long time ago to demonstrate
starvation issues with the interactivity estimator.  (source not
available unfortunately, was apparently still on my old PIII box along
with the one Willy posted when I installed opensuse 10.2 on it.  damn.
trivial thing though)

	-Mike


  reply	other threads:[~2007-03-21 14:58 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 [this message]
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
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=1174489064.5379.42.camel@Homer.simpson.net \
    --to=efault@gmx.de \
    --cc=a1426z@gawab.com \
    --cc=akpm@linux-foundation.org \
    --cc=belyshev@depni.sinp.msu.ru \
    --cc=ck@vds.kolivas.org \
    --cc=kernel@kolivas.org \
    --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