public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Bill Huey <billh@gnuppy.monkey.org>
Cc: Nicholas Miell <nmiell@comcast.net>,
	Edgar Toernig <froese@gmx.de>,
	Neil Horman <nhorman@tuxdriver.com>, Jim Gettys <jg@laptop.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Dave Airlie <airlied@gmail.com>,
	Segher Boessenkool <segher@kernel.crashing.org>,
	linux-kernel@vger.kernel.org, a.zummo@towertech.it,
	jg@freedesktop.org, Keith Packard <keithp@keithp.com>,
	Ingo Molnar <mingo@elte.hu>, Steven Rostedt <rostedt@goodmis.org>
Subject: Re: itimer again (Re: [PATCH] RTC: Add mmap method to rtc character driver)
Date: Sun, 30 Jul 2006 10:33:42 -0400	[thread overview]
Message-ID: <20060730143341.GD23279@thunk.org> (raw)
In-Reply-To: <20060730013936.GA23571@gnuppy.monkey.org>

On Sat, Jul 29, 2006 at 06:39:36PM -0700, Bill Huey wrote:
> On Sat, Jul 29, 2006 at 06:22:59PM -0700, Nicholas Miell wrote:
> > On Sat, 2006-07-29 at 18:00 -0700, Bill Huey wrote:
> > > Think edge triggered verse level triggered. Event interfaces in the Linux
> > > kernel are sort of just that, edge triggered events. What RT folks generally
> > > want is control over scheduling policies over a particular time period in
> > > relation to a scheduling policy. A general kernel event interface isn't
> >                 ^ Did you mean to say timer here?
> 
> No, I really ment scheduling.

Bill, 

Do you mean frequency-based scheduling?  This was mentioned, IIRC, in
Gallmeister's book (Programming for the Real World, a must-read for
those interested in Posix real-time interfaces) as a likely extension
to the SCHED_RR/SCHED_FIFO scheduling policies and future additions to
the struct sched_policy used by sched_setparam() at some future point.


The basic idea here is that if you have some task which is cyclic in
nature, what might be useful would be to tell the scheduler that a
particular thread should be woken up every at a specific cyclic time;
and that thread promises it will only run for a certain amount of
time, and before that time expires, it will finish running.  If it
doesn't, this is considered an overrun situation, and a number of
different things can happen at that point, including a signal which
might or might not kill the process, merely recording the event that
there was an overrun.  It would be possible to have and soft and hard
overrun limits where you record the number and amount of time exceeded
of soft overruns, and upon a thread using up its promised time
quantuum plus the hard overrun limit, it gets a signal.

Since the scheduler knows when the cyclic tasks need to run, and how
much time they promise to take, in theory it might be able to do a
better job scheduling the threads, particularly if it knows that
certain threads can tolerate being scheduled earlier or later within
some time boundaries (which means even more fields in the struct
sched_policy).  At least, that's the theory.  The exact semantics of
what would actually be useful to application is I believe a little
unclear, and of course there is the question of whether there is
sufficient reason to try to do this as part of a system-wide
scheduler.  Alternatively, it might be sufficient to do this sort of
thing at the application level across cooperating threads, in which
case it wouldn't be necessary to try to add this kind of complicated
scheduling gorp into the kernel.

In any case, I don't think this is particularly interesting to the X
folks, although there may very well be real-time applications that
would find this sort of thing useful.

Regards,

						- Ted

  parent reply	other threads:[~2006-07-30 14:37 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-25 17:41 [PATCH] RTC: Add mmap method to rtc character driver Neil Horman
2006-07-25 17:55 ` Arjan van de Ven
2006-07-25 18:01   ` Jim Gettys
2006-07-25 18:22   ` Neil Horman
2006-07-25 18:32     ` Arjan van de Ven
2006-07-25 18:43       ` Neil Horman
2006-07-25 18:53         ` Arjan van de Ven
2006-07-25 19:03           ` Neil Horman
2006-07-25 19:06             ` Arjan van de Ven
2006-07-25 19:07           ` John W. Linville
2006-07-25 19:16             ` Arjan van de Ven
2006-07-25 19:08           ` H. Peter Anvin
2006-07-25 17:57 ` Segher Boessenkool
2006-07-25 18:28   ` Neil Horman
2006-07-25 18:56     ` Segher Boessenkool
2006-07-25 19:07       ` Neil Horman
2006-07-25 19:10     ` H. Peter Anvin
2006-07-25 19:21       ` Neil Horman
2006-07-25 19:31         ` Segher Boessenkool
2006-07-25 19:47           ` Neil Horman
2006-07-25 20:04             ` Dave Airlie
2006-07-25 20:24               ` H. Peter Anvin
2006-07-25 20:47                 ` Neil Horman
2006-07-25 20:50                   ` H. Peter Anvin
2006-07-25 22:25                     ` Neil Horman
2006-07-25 22:33                       ` H. Peter Anvin
2006-07-25 23:10                         ` Neil Horman
2006-07-25 23:22                           ` H. Peter Anvin
2006-07-26  0:03                             ` Neil Horman
2006-07-25 23:29                           ` David Lang
2006-07-26  0:18                             ` Neil Horman
2006-07-25 23:29                       ` Segher Boessenkool
2006-07-25 23:56                         ` Neil Horman
2006-07-26  0:02                           ` H. Peter Anvin
2006-07-26  0:20                             ` Neil Horman
2006-07-26  0:36                               ` H. Peter Anvin
2006-07-26 14:45                               ` A better interface, perhaps: a timed signal flag Theodore Tso
2006-07-28 13:33                                 ` Steven Rostedt
2006-07-28 14:52                                   ` Theodore Tso
2006-07-28 15:05                                     ` Steven Rostedt
2006-07-28 16:41                                     ` Alan Cox
2006-07-28 16:44                                       ` Steven Rostedt
2006-07-28 20:01                                         ` Alan Cox
2006-07-28 20:12                                           ` Steven Rostedt
2006-07-28 20:36                                             ` Alan Cox
2006-07-28 20:31                                               ` Steven Rostedt
2006-07-28 17:11                                 ` H. Peter Anvin
2006-07-25 20:58                   ` [PATCH] RTC: Add mmap method to rtc character driver Jim Gettys
2006-07-25 21:04                     ` H. Peter Anvin
2006-07-25 21:14                       ` Jim Gettys
2006-07-25 21:18                         ` H. Peter Anvin
2006-07-25 21:39                           ` Jim Gettys
2006-07-29  4:28                             ` Bill Huey
2006-07-29 12:54                               ` Neil Horman
2006-07-29 20:41                                 ` Bill Huey
2006-07-29 21:43                                   ` Neil Horman
2006-07-29 22:45                                     ` Keith Packard
2006-07-29 23:18                                       ` Edgar Toernig
2006-07-29 21:49                                   ` Edgar Toernig
2006-07-29 22:51                                     ` itimer again (Re: [PATCH] RTC: Add mmap method to rtc character driver) Bill Huey
2006-07-29 23:35                                       ` Nicholas Miell
2006-07-30  1:00                                         ` Bill Huey
2006-07-30  1:22                                           ` Nicholas Miell
2006-07-30  1:39                                             ` Bill Huey
2006-07-30  2:02                                               ` Nicholas Miell
2006-07-30 14:33                                               ` Theodore Tso [this message]
2006-07-30 22:20                                                 ` Bill Huey
2006-07-31 15:40                                                   ` Theodore Tso
2006-07-30  0:16                                       ` Edgar Toernig
2006-07-30  0:24                                         ` Bill Huey
2006-07-29 14:02                             ` [PATCH] RTC: Add mmap method to rtc character driver Thomas Gleixner
2006-07-26 13:17                   ` Martin J. Bligh
2006-08-02  3:54               ` john stultz
2006-08-02  4:26                 ` H. Peter Anvin
2006-08-02  4:34                   ` john stultz
2006-07-25 23:26             ` Segher Boessenkool
2006-07-26  0:10               ` Neil Horman
2006-07-25 20:03       ` Paul Mackerras
2006-07-25 23:27         ` Segher Boessenkool
2006-07-26  0:06           ` Neil Horman
2006-07-25 18:00 ` Jim Gettys
2006-07-25 18:17   ` Neil Horman
2006-07-26 15:16 ` Andi Kleen
2006-07-26 17:25   ` Jim Gettys
2006-07-27 23:53   ` Paul Mackerras
2006-07-28  3:29     ` Jim Gettys
2006-07-28 11:59       ` Neil Horman

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=20060730143341.GD23279@thunk.org \
    --to=tytso@mit.edu \
    --cc=a.zummo@towertech.it \
    --cc=airlied@gmail.com \
    --cc=billh@gnuppy.monkey.org \
    --cc=froese@gmx.de \
    --cc=hpa@zytor.com \
    --cc=jg@freedesktop.org \
    --cc=jg@laptop.org \
    --cc=keithp@keithp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nhorman@tuxdriver.com \
    --cc=nmiell@comcast.net \
    --cc=rostedt@goodmis.org \
    --cc=segher@kernel.crashing.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