Timing of events in an ISR

Joel Sherrill <joel@OARcorp.com> joel.sherrill at OARcorp.com
Tue Oct 19 11:11:49 UTC 2004


Mark VanderVoord wrote:
>>> - task preemption is not disabled (globally or
>>>   for one of your lower priority tasks)
>>
>>I am beginning to think this is the case.  The Init
>>taks is no-preempt 
>>so if he just let that become the application task,
>>it would
>>exhibit this behavior.
> 
> 
> I believe that the task has been created as
> preemptable, but I will verify this.  
> 
> The task that I am using is not the Init task. 
> However, instead of deleting my init task, I suspended
> it.  Could this be an issue?

It shouldn't be since it isn't in the set to be considered
for scheduling.

When you do get to the ISR what is the thread you interrupted?
But what we likely want to know is which thread ran just before
this one.

By some freaky chance does the IDLE task not have a completely
interruptable interrupt mask?  It might be a bug on the MIPS
where set_level 0 isn't really "all interrupts enabled"

Could you turn on the capture subsystem? Then you can
later dump which context switches occurred.

I really suspect that you have a non-preemptable thread somewhere.

--joel

> Mark S VanderVoord
> Self-Guided Systems, LLC
> 
> 
> 		
> _______________________________
> Do you Yahoo!?
> Declare Yourself - Register online to vote today!
> http://vote.yahoo.com


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985




More information about the users mailing list