On Thu, Jun 27, 2002 at 03:15:50PM -0700, Dave i. wrote:
> 
> I've got some context questions. I'm on intel, measuring 
> elapsed time using the tsc for various parts 
> of my code running in a real-time thread.
> 
> I do have various interrupts enabled, both my
> 'real-time interrupt', and various interrupts
> that are being handled via drivers in the linux
> kernel. And I'm observing fairly infrequent 'hiccups'
> in the elasped time that can't really be explained as
> cacheline misses, bad branch prediction, or the like.
> I know it's not my 'real-time' ISR, because I'm tracking
> that internally.
> 
> So my question boils down to this: When a non-real
> time interrupt hits while a real-time thread is running,
> how much of the normal linux driver is able to preempt
> the real time thread?

Just the time required by RTLinux to catch, mask, mark pending
and return from interrupt. Worst case for this is when multiple 
interrupts are pending at once and RTL does

        start RT thread
                get interrupt A, pend it. return to thread
                get interrupt B, pend it, return to thread
                ...

                continue thread.

On standard PC boards we still measure 15us worst case interrupt overhead - althoug
we are shrinking that some on Pro with a lot of work.
So imagine 4 pending non-RT interrupts and  you can see the problem.


> But what about the actual linux ISR (from the linux point 
> of view - not the actual hardware ISR)?

nope.

> Is this held off too until linux context is restored, and 
> then invoked via a simulated interrupt, or is the linux ISR

Yes.

> actually allowed to run 'under' a real-time thread?
> 
> Suppose I'm in the linux level ISR code, and an interrupt
> hits that I've got a real-time handler for - the linux ISR
> is immediately preempted, right?

Yes.

> 
> Just wondering, as answers will help me better understand the
> timing I'm seeing for my real-time threads.
> 
> TIA,
> 
> -Dave i.
> 
> 
> 
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/

-- 
---------------------------------------------------------
Victor Yodaiken 
Finite State Machine Labs: The RTLinux Company.
 www.fsmlabs.com  www.rtlinux.com

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/

Reply via email to