From: Raistlin <raistlin@linux.it>
To: Jamie Lokier <jamie@shareable.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
sen wang <wangsen.linux@gmail.com>,
mingo@elte.hu, akpm@linux-foundation.org, kernel@kolivas.org,
npiggin@suse.de, arjan@infradead.org,
linux-arm-kernel@lists.arm.linux.org.uk,
linux-kernel@vger.kernel.org,
Tommaso Cucinotta <tommaso.cucinotta@sssup.it>
Subject: Re: report a bug about sched_rt
Date: Sat, 25 Jul 2009 14:33:21 +0200 [thread overview]
Message-ID: <1248525201.8429.113.camel@Palantir> (raw)
In-Reply-To: <20090724233057.GO27755@shareable.org>
[-- Attachment #1: Type: text/plain, Size: 3013 bytes --]
On Sat, 2009-07-25 at 00:30 +0100, Jamie Lokier wrote:
> > Unpredictable calculation times can be dealt with on the application
> > design level, for example using techniques such as outlined here:
> >
> > http://feanor.sssup.it/~faggioli/papers/OSPERT-2009-dlexception.pdf
> >
> > These really are things you should know about before writing an RT
> > application ;-)
>
> Certainly those things can be used, if you are really serious about RT
> behaviour.
Well... True... But not that much! :-)
> They are quite complex.
>
Agree... But it's just at its start, still working and trying to improve
it...
> For simple things like "try to keep the buffer to my DVD writer full"
> (no I don't know how much CPU that requires - it's a kind of "best
> effort but try very hard!"), it would be quite useful to have
> something like RT-bandwidth which grants a certain percentage of time
> as an RT task, and effectively downgrades it to SCHED_OTHER when that
> time is exceeded to permit some fairness with the rest of the system.
>
Well, agree, again. If you want something very useful, you need the
combination of the two: user space techniques and kernel space support.
The mechanism described in the paper, work at its best if ran on top of
the proper scheduling policies/framework... And the rt-throttling
mechanism which is currently in place --or some improvements of it--
could definitely be one of those.
> You can do that in userspace using the techniques in the PDF, and I
> have looked at such techniques many years ago (2.2 days!), but the
> same could be said about RT-bandwidth. But it's much easier to just
> set a kernel parameter.
>
The aim of the mechanism was not to move RT to userspace, forgetting
about kernel support... Believe me: we are way far from that! :-)
As said, the point is trying to provide the user to specify some
--typically-- real-time characteristics of its apps, and have them
enforced somehow.
I don't think comparing kernel-space throttling with our user space
deadline/wcet violation notification is the right thing to do, since
they have very different objective, actually!
Throttling is aimed at limiting the bandwidth of real-time apps (or
groups of them) without the need of them to be aware of that.
Our exception based mechanism is aimed at giving the application
developer the capability of being aware of exactly such!
So, different tools for different goals, I think, which however could
work together, if needed...
I hope it would not seem I'm trying to push our mechanism over
anything... Just trying to clarify a little bit why we conceived it and
how it works. :-)
Regards,
Dario
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
----------------------------------------------------------------------
Dario Faggioli, ReTiS Lab, Scuola Superiore Sant'Anna, Pisa (Italy)
http://blog.linux.it/raistlin / raistlin@ekiga.net /
dario.faggioli@jabber.org
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
next prev parent reply other threads:[~2009-07-25 12:33 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-24 10:57 report a bug about sched_rt sen wang
2009-07-24 12:14 ` Peter Zijlstra
2009-07-24 13:04 ` sen wang
2009-07-24 13:14 ` Peter Zijlstra
2009-07-24 13:26 ` sen wang
2009-07-24 13:33 ` Peter Zijlstra
2009-07-24 13:44 ` sen wang
2009-07-24 13:54 ` Peter Zijlstra
2009-07-24 14:04 ` sen wang
2009-07-24 14:48 ` Peter Zijlstra
2009-07-24 14:53 ` sen wang
2009-07-24 15:07 ` sen wang
2009-07-24 15:24 ` Peter Zijlstra
2009-07-24 15:43 ` sen wang
2009-07-24 15:34 ` Thomas Gleixner
2009-07-25 11:12 ` Raistlin
2009-07-24 14:24 ` sen wang
2009-07-24 14:48 ` Peter Zijlstra
2009-07-24 15:02 ` sen wang
2009-07-24 15:40 ` Jamie Lokier
2009-07-24 16:01 ` Peter Zijlstra
2009-07-24 23:30 ` Jamie Lokier
2009-07-25 5:22 ` Bill Gatliff
2009-07-25 22:48 ` Jamie Lokier
2009-07-26 2:44 ` Bill Gatliff
2009-07-26 19:03 ` Jamie Lokier
2009-07-27 10:45 ` Peter Zijlstra
2009-07-27 13:35 ` Bill Gatliff
2009-07-25 12:33 ` Raistlin [this message]
2009-07-25 14:58 ` Tommaso Cucinotta
2009-07-25 12:19 ` Raistlin
2009-07-25 22:54 ` Jamie Lokier
2009-07-25 23:24 ` Tommaso Cucinotta
2009-07-25 11:10 ` Raistlin
[not found] ` <454c71700907250429i1c77658bt6d65b02f08a29f4a@mail.gmail.com>
2009-07-25 23:01 ` Jamie Lokier
2009-07-24 14:28 ` Arjan van de Ven
2009-07-26 3:55 ` sen wang
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=1248525201.8429.113.camel@Palantir \
--to=raistlin@linux.it \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=jamie@shareable.org \
--cc=kernel@kolivas.org \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=peterz@infradead.org \
--cc=tommaso.cucinotta@sssup.it \
--cc=wangsen.linux@gmail.com \
/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