public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Kasper Sandberg <lkml@metanurb.dk>
To: Ingo Molnar <mingo@elte.hu>
Cc: Jason Garrett-Glaser <darkshikari@gmail.com>,
	Mike Galbraith <efault@gmx.de>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	LKML Mailinglist <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: x264 benchmarks BFS vs CFS
Date: Thu, 17 Dec 2009 13:35:46 +0100	[thread overview]
Message-ID: <1261053346.14314.18.camel@localhost> (raw)
In-Reply-To: <20091217120826.GA32125@elte.hu>

On Thu, 2009-12-17 at 13:08 +0100, Ingo Molnar wrote:
> * Kasper Sandberg <lkml@metanurb.dk> wrote:
> 
> > On Thu, 2009-12-17 at 11:53 +0100, Ingo Molnar wrote:
> > > * Jason Garrett-Glaser <darkshikari@gmail.com> wrote:
> > > 
> > > > On Thu, Dec 17, 2009 at 1:33 AM, Kasper Sandberg <lkml@metanurb.dk> wrote:
> > > > > well well :) nothing quite speaks out like graphs..
> > > > >
> > > > > http://doom10.org/index.php?topic=78.0
> > > > >
> > > > >
> > > > >
> > > > > regards,
> > > > > Kasper Sandberg
> > > > 
> > > > Yeah, I sent this to Mike a bit ago.  Seems that .32 has basically tied 
> > > > it--and given the strict thread-ordering expectations of x264, you basically 
> > > > can't expect it to do any better, though I'm curious what's responsible for 
> > > > the gap in "veryslow", even with SCHED_BATCH enabled.
> > > > 
> > > > The most odd case is that of "ultrafast", in which CFS immediately ties BFS 
> > > > when we enable SCHED_BATCH.  We're doing some further testing to see exactly 
> > 
> > Thats kinda besides the point.
> > 
> > all these tunables and weirdness is _NEVER_ going to work for people.
> 
> v2.6.32 improved quite a bit on the x264 front so i dont think that's 
> necessarily the case.

again, pretty much application specific, and furthermore, ONLY with
SCHED_BATCH is it near BFS. as you know, SCHED_BATCH isnt exactly what
you wanna do for desktop or other interactivity-hungry tasks? bfs
manages better performance than cfs with SCHED_BATCH, without
SCHED_BATCH

> 
> But yes, i'll subscribe to the view that we cannot satisfy everything all the 
> time. There's tradeoffs in every scheduler design.
yet getting not even as good on average performance from CFS as BFS,
requires tunables, swtiching scheduler policies etc

> 
> > now forgive me for being so blunt, but for a user, having to do
> > echo x264 > /proc/cfs/gief_me_performance_on_app
> > or
> > echo some_benchmark > x264 > /proc/cfs/gief_me_performance_on_app
> > 
> > just isnt usable, bfs matches, even exceeds cfs on all accounts, with ZERO 
> > user tuning, so while cfs may be able to nearly match up with a ton of 
> > application specific stuff, that just doesnt work for a normal user.

^^^^ This is also something you need to consider.

> > 
> > not to mention that bfs does this whilst not loosing interactivity, 
> > something which cfs certainly cannot boast.
> 
> What kind of latencies are those? Arent they just compiz induced due to 
> different weighting of workloads in BFS and in the upstream scheduler?
> Would you be willing to help us out pinning them down?

Theres not much i can do, i dont have time to switch kernels on my
systems, all i can give you is this simple information, on my systems,
ranging from embedded to dual core2 quad and core i7, BFS manages to
give lower latencies(aka jack doesnt skip with very low latency output,
everythings smoother, even measurably on the desktop), greater
performance(as evidenced by lots of benchmarks, including those i
posted), and that is without touching a single scheduler policy or
tunable at all.

Im well aware that CFS can be tweaked via tunables/policies to achieve a
single of these goals at a time, and im also well aware you cannot ever
do every single cornercase perfectly with one scheduler, however, and
consider this very thoroughly, bfs manages without any tunables, to do
the vast majority of the cases with an excellence CFS can not even 100%
match, even tunables and scheduler polices.. and that is with ALOT less
code aswell.. This ought to tell you that something can and should be
done.

> 
> To move the discussion to the numeric front please send the 'perf sched 
> latency' output of an affected workload.
> 
> Thanks,
> 
> 	Ingo


  reply	other threads:[~2009-12-17 12:35 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-17  9:33 x264 benchmarks BFS vs CFS Kasper Sandberg
2009-12-17 10:42 ` Jason Garrett-Glaser
2009-12-17 10:53   ` Ingo Molnar
2009-12-17 11:00     ` Kasper Sandberg
2009-12-17 12:08       ` Ingo Molnar
2009-12-17 12:35         ` Kasper Sandberg [this message]
2009-12-17 15:47         ` Arjan van de Ven
2009-12-17 13:30       ` Mike Galbraith
2009-12-18 10:54         ` Kasper Sandberg
2009-12-18 11:41           ` Mike Galbraith
2009-12-17 21:22       ` Thomas Fjellstrom
2009-12-18 10:56         ` Kasper Sandberg
2009-12-18  1:18       ` Jason Garrett-Glaser
2009-12-18  5:23         ` Ingo Molnar
2009-12-18  7:30           ` Mike Galbraith
2009-12-18 10:11             ` Jason Garrett-Glaser
2009-12-18 12:49               ` Mike Galbraith
2009-12-18 13:06                 ` Ingo Molnar
2009-12-18 13:36                   ` Mike Galbraith
2009-12-18 13:53                 ` Mike Galbraith
2009-12-18 10:57             ` Kasper Sandberg
2009-12-18 11:05               ` Jason Garrett-Glaser
2009-12-19  1:08                 ` Con Kolivas
2009-12-19  4:03                   ` Mike Galbraith
2009-12-19 17:36                     ` Kasper Sandberg
2009-12-19 20:57                       ` Mike Galbraith
2009-12-20  3:22                       ` Andres Freund
2009-12-20 12:10                         ` Kasper Sandberg
2009-12-20 13:09                           ` Kasper Sandberg
2009-12-20 15:13                           ` Mike Galbraith
2009-12-20 15:51                             ` Mike Galbraith
2009-12-22  7:33                               ` Jason Garrett-Glaser
2009-12-22  7:39                                 ` Jason Garrett-Glaser
2009-12-18 10:56         ` Kasper Sandberg

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=1261053346.14314.18.camel@localhost \
    --to=lkml@metanurb.dk \
    --cc=a.p.zijlstra@chello.nl \
    --cc=darkshikari@gmail.com \
    --cc=efault@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --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