linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Max Krasnyansky <maxk@qualcomm.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Peter Zijlstra <peterz@infradead.org>,
	"Torvalds, Linus" <torvalds@linux-foundation.org>,
	Stefani Seibold <stefani@seibold.net>,
	linux-kernel@vger.kernel.org, mingo@redhat.com
Subject: Re: SCHED_FIFO and SCHED_RR broken by cfs
Date: Mon, 18 Aug 2008 11:01:42 -0700	[thread overview]
Message-ID: <48A9B906.7090201@qualcomm.com> (raw)
In-Reply-To: <200808182214.08942.nickpiggin@yahoo.com.au>

Nick Piggin wrote:
> On Monday 18 August 2008 21:51, Peter Zijlstra wrote:
>> On Mon, 2008-08-18 at 21:24 +1000, Nick Piggin wrote:
>>> Really, you think the enterprise distros will willingly break POSIX
>>> and their own backwards compatiblity by default? I wouldn't have
>>> thought so, but anyway I guess they are free to make that choice, so
>>> where's the problem?
>> I'm not seeing why you're making such a big fuss over this - IMO its not
>> such a significant breakage. Esp since very few realtime apps will
>> require such large amounts of time to ever run into the throttle.
>>
>> If their usage is 95%+ cpu they must have magic WCET estamates - or like
>> in this case, be a benchmark app which IMHO just abuses the real-time
>> class.
> 
> Note that this certainly does not have to be the case. It is perfectly
> valid to dynamically scale the work performed according to the amount
> of CPU time available but still be sensitive to latency.
> 
> video decoding would be a really simple example. But you can't just
> "know" how all RT apps are coded and think this is no problem.
> 
> 
>> It's like running your real-time code on a 5% slower cpu - if it runs
>> correctly on the 5% slower cpu, it will run correctly here too.
> 
> Aside from the latency issue which makes this statement incorrect...
> If the code does not run correctly on a 5% slower CPU, it will break.
> How is that OK?
> 
> You might expect many systems would include at least a 5% margin of
> error, but if the kernel takes 5%, then that's 5% of the safety
> margin gone, so while the app might "work", it might no longer
> meet requirements.
> 
> 
>> Note that correctness from a RT pov is making your deadline.
> 
> Correctness from the kernel's POV is implementing APIs as advertised,
> and just as importantly, not changing them. We can argue about how RT
> apps work, but there is no argument that the kernel has broken
> backwards compatibility and standards.

Just wanted to mention that I'm with Nick on this one. I pointed this 
(ie POSIX breakage) out as soon as the change went in. I do have a valid 
  (which some people disagree with ;-)) workload that uses 100% of the 
CPU. So my unit-tests caught this right away.

Anyway, "RT bandwidth throttling" has been in and enabled be default 
since 2.6.25. So I'm not sure if it makes sense to revert the default at 
this point.
If we do change the default maybe we can add a CONFIG_ option for this 
so that it can be compiled out completely.

Max





  reply	other threads:[~2008-08-18 18:02 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-16  9:55 SCHED_FIFO and SCHED_RR broken by cfs Stefani Seibold
2008-08-16 14:53 ` Peter Zijlstra
2008-08-16 16:26   ` Stefani Seibold
2008-08-16 21:29   ` Stefani Seibold
2008-08-17 22:15     ` Dario Faggioli
2008-08-18 10:47       ` [PATCH] sched: rt-bandwidth disable fixes Peter Zijlstra
2008-08-18 11:11         ` Peter Zijlstra
2008-08-17 13:04   ` SCHED_FIFO and SCHED_RR broken by cfs Nick Piggin
2008-08-18 10:50     ` Peter Zijlstra
2008-08-18 10:58       ` Nick Piggin
2008-08-18 11:09         ` Peter Zijlstra
2008-08-18 11:24           ` Nick Piggin
2008-08-18 11:51             ` Peter Zijlstra
2008-08-18 12:14               ` Nick Piggin
2008-08-18 18:01                 ` Max Krasnyansky [this message]
2008-08-18 19:46                   ` Peter Zijlstra
2008-08-19  7:44                   ` Nick Piggin

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=48A9B906.7090201@qualcomm.com \
    --to=maxk@qualcomm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nickpiggin@yahoo.com.au \
    --cc=peterz@infradead.org \
    --cc=stefani@seibold.net \
    --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;
as well as URLs for NNTP newsgroup(s).