public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Arjan van de Ven <arjan@infradead.org>,
	Sam Ravnborg <sam@ravnborg.org>,
	Parag Warudkar <parag.warudkar@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"akpm@osdl.org" <akpm@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Dave Jones <davej@redhat.com>
Subject: Re: [PATCH] default to n for GROUP_SCHED and FAIR_GROUP_SCHED
Date: Mon, 5 May 2008 23:05:26 +0200	[thread overview]
Message-ID: <20080505210526.GA1702@elte.hu> (raw)
In-Reply-To: <alpine.LFD.1.10.0805051337530.32269@woody.linux-foundation.org>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> Another example of that kind of behaviour, for example, is just you 
> fighting turning off 'default y' from FAIR_GROUP_SCHED, considering 
> that it is known to cause latency problems and the reason isn't 
> understood.

a side-note to this topic: after looking at a bunch of traces and after 
a lot of testing, the latency problems are complex, but reasonably 
well-understood.

Nevertheless we'll mark it default-disabled because it's been taking too 
long to create and propagate the fixes. I've queued up a patch for that. 
We might even mark it BROKEN for a single release so that the option 
disappears from people's config? Or we could change the name to achieve 
a similar effect.

The main design-level latency source was due to the hierarchic view of 
group scheduling - we had a hierarchy of runqueues. CFS met the latency 
targets, but only per level (per runqueue) of the hierarchy. So with 
every new level, we got more maximum latency.

So for example on a system with fair user scheduling, it takes just a 
couple of different UIDs to be probabilistically active at once to 
generate a bad latency: say if root, nobody, distcc and mingo UIDs are 
are active at once, the mingo task could see a 4x latency hit over the 
target - 160 msecs instead of 40 msecs.

This is now believed to be fixed in sched-devel.git, via the "single 
runqueue" and deadline-scheduling patches from Peter that flattens the 
hierarchy of the group scheduler.

Another latency source was the skew of sched_clock() running too slow - 
that way if the clock runs at 10% of its intended speed the scheduler 
will turn a 40msec intended latency target into a 400 msec latency 
target!

This bug too is now believed to be fixed via Peter's new sched_clock 
code in sched-devel.git.

... and users now have a very objective stick they can use on us: 
latencytop. It told us black and white when we sucked. (I am waiting for 
the days when it will auto-create a scheduler trace for the worst 
latency hit in the system, making it easy for users to submit traces.)

	Ingo

  reply	other threads:[~2008-05-05 21:06 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-04  0:42 [PATCH] default to n for GROUP_SCHED and FAIR_GROUP_SCHED Parag Warudkar
2008-05-04  9:24 ` Ingo Molnar
2008-05-05 15:14   ` Parag Warudkar
2008-05-05 17:15     ` Ingo Molnar
2008-05-05 18:24       ` Sam Ravnborg
2008-05-05 18:36         ` Sergio Luis
2008-05-05 18:45           ` Ingo Molnar
2008-05-05 19:49             ` [PATCH] kconfig: add support for stdin (make K=- ...) Sam Ravnborg
2008-05-06  3:51               ` Oleg Verych
2008-05-05 19:05           ` [PATCH] default to n for GROUP_SCHED and FAIR_GROUP_SCHED Sam Ravnborg
2008-05-05 18:42         ` Ingo Molnar
2008-05-05 19:01           ` Sam Ravnborg
2008-05-05 19:56           ` Arjan van de Ven
2008-05-05 20:27             ` Ingo Molnar
2008-05-05 20:48               ` Linus Torvalds
2008-05-05 21:05                 ` Ingo Molnar [this message]
2008-05-05 21:40                   ` Parag Warudkar
2008-05-25 19:30       ` Roman Zippel
2008-05-05 17:21     ` Ingo Molnar
2008-05-05 17:33       ` Jesse Barnes
2008-05-05 18:36         ` Ingo Molnar
2008-05-05 21:36       ` Parag Warudkar
2008-05-05 21:49         ` Ingo Molnar
2008-05-06  0:38           ` 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=20080505210526.GA1702@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=davej@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=parag.warudkar@gmail.com \
    --cc=peterz@infradead.org \
    --cc=sam@ravnborg.org \
    --cc=torvalds@linux-foundation.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