[linux-audio-user] gnome-terminal performance

Lee Revell rlrevell at joe-job.com
Sun Aug 1 02:46:30 EDT 2004


On Sat, 2004-07-31 at 23:52, Florin Andrei wrote:
> On Sat, 2004-07-31 at 17:03, Lee Revell wrote:
> > On Sat, 2004-07-31 at 18:41, Florin Andrei wrote:
> > > On Sat, 2004-07-31 at 14:19, Lee Revell wrote:
> > > 
> > > > If jackd were running SCHED_FIFO aka realtime, and gnome-terminal as a
> > > > normal priority process, it would be a bug (priority inversion) if
> > > > gnome-terminal *ever* interfered with jackd's operation.
> > > 
> > > Well, i thought Linux can provide only soft realtime, so the
> > > interference is not totally out of question (like it would be on systems
> > > that can do hard or "true" realtime). Am i missing something?
> > 
> > It's not "hard realtime", which is where missing a deadline is
> > considered a fatal error, and is *never* allowed.  The Mars Rovers are a
> > hard RT - if you are *ever* too late in responding to a 'move wheel'
> > command, that's it - mission over.
> 
> Dude, i am aware of the difference between soft and hard realtime.

Sorry, that came off totally pedantic, I thought I was replying to the
list vs. email... you would be surprised at how many people *on LKML*
don't understand the distinction.

>  I was
> merely pointing out that your strong statement ("it would be a bug
> (priority inversion) if gnome-terminal *ever* interfered with jackd's
> operation") coresponds to the hard realtime situation, while Linux is
> (to my best knowledge) soft realtime.

Ok, 'interfere' is too weak.  It would be a bug if any normal priority
process caused a SCHED_FIFO process to miss a deadline.

Well, the tricky thing about soft and hard realtime is that they don't
really say anything about the system, but about the guarantees you
willing to make about it, you have to take intent into account.  I say
that that is a bug because I think Ingo would consider it one, due to
his definition of how preemption is supposed to work - with the fully
preemptible kernel it is by definition a bug if you have a SCHED_FIFO
process getting blocked by a normal one.  This property (no priority
inversions) does not make it hard realtime, because you need to do more
- before redirectable irqs an interrupt handler would preempt any
process any time an interrupt occurred, potentially causing your
SCHED_FIFO process to get blocked and miss a deadline.  So preventing
priority inversion is one half of the problem, you also need a way to
keep interrupts from blocking your process, or vice versa, if you want
to make a real time guarantee about interrupt response times.  Those two
ingredients (actually three because the scheduler becomes increasingly
important once irqs are threaded) are the building blocks for hard-RT,
which is what I think Ingo means about the latest changes making the
kernel hard-RT capable.

Lee





More information about the Linux-audio-user mailing list