From: Con Kolivas <kernel@kolivas.org>
To: "Jason Garrett-Glaser" <darkshikari@gmail.com>
Cc: Kasper Sandberg <lkml@metanurb.dk>,
Mike Galbraith <efault@gmx.de>, Ingo Molnar <mingo@elte.hu>,
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: Sat, 19 Dec 2009 12:08:57 +1100 [thread overview]
Message-ID: <200912191208.57907.kernel@kolivas.org> (raw)
In-Reply-To: <28f2fcbc0912180305p47468508ybcb2f60cacb66c35@mail.gmail.com>
On Fri, 18 Dec 2009 22:05:34 Jason Garrett-Glaser wrote:
> On Fri, Dec 18, 2009 at 2:57 AM, Kasper Sandberg <lkml@metanurb.dk> wrote:
> > On Fri, 2009-12-18 at 08:30 +0100, Mike Galbraith wrote:
> >> On Fri, 2009-12-18 at 06:23 +0100, Ingo Molnar wrote:
> >> > Having said that, we generally try to make things perform well without
> >> > apps having to switch themselves to SCHED_BATCH. Mike, do you think we
> >> > can make x264 perform as well (or nearly as well) under SCHED_OTHER as
> >> > under SCHED_BATCH?
> >>
> >> It's not bad as is, except for ultrafast mode. START_DEBIT is the
> >> biggest problem there. I don't think SCHED_OTHER will ever match
> >> SCHED_BATCH for this load, though I must say I haven't full-spectrum
> >> tested. This load really wants RR scheduling, and wakeup preemption
> >> necessarily perturbs run order.
> >>
> >> I'll probably piddle with it some more, it's an interesting load.
> >
> > Yes, i must say, very interresting, its very complicated and... oh wait,
> > its just encoding a movie!
>
> Your trolling is becoming a bit over-the-top at this point. You
> should also considering replying to multiple people in one email as
> opposed to spamming a whole bunch in sequence.
>
> Perhaps as the lead x264 developer I'm qualified to say that it
> certainly is a very complicated load due to the strict ordering
> requirements of the threading model--and that you should tone down the
> whining just a tad and perhaps read a bit more about how BFS and CFS
> work before complaining about them.
Your workload is interesting because it is a well written real world
application with a solid threading model written in a cross platform portable
way. Your code is valuable as a measure for precisely this reason, and
there's a trap in trying to program in a way that "the scheduler might like".
That's presumably what Kasper is trying to point out, albeit in a much blunter
fashion.
The only workloads I'm remotely interested in are real world workloads
involving real applications like yours, software compilation, video playback,
audio playback, gaming, apache page serving, mysql performance and so on that
people in the real world use on real hardware all day every day. These are, of
course, measurable even above and beyond the elusive and impossible to measure
and quantify interactivity and responsiveness.
I couldn't care less about some artificial benchmark involving LTP, timing
mplayer playing in the presence of 100,000 pipes, volanomark which is just a
sched_yield benchmark, dbench and hackbench which even their original
programmers don't like them being used as a meaningful measure, and so on, and
normal users should also not care about the values returned by these artificial
benchmarks when they bear no resemblance to their real world performance cases
as above.
I have zero interest in adding any "tweaks" to BFS to perform well in X
benchmark, for there be a path where dragons lie. I've always maintained that,
and still stick to it, that the more tweaks you add for corner cases, the more
corner cases you introduce yourself. BFS will remain for a targeted audience
and I care not to appeal to any artificial benchmarketing obsessed population
that drives mainline, since I don't -have- to. Mainline can do what it wants,
and hopefully uses BFS as a yardstick for comparison when appropriate.
Regards,
--
-ck
next prev parent reply other threads:[~2009-12-19 1:09 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
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 [this message]
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=200912191208.57907.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=a.p.zijlstra@chello.nl \
--cc=darkshikari@gmail.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@metanurb.dk \
--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