[Tinyos-devel] Nested interrupts

Rodrigo Fonseca rfonseca at cs.berkeley.edu
Sun Aug 12 21:06:34 PDT 2007


Thanks for the replies and for the clarification by John.

Rodrigo


On 8/12/07, John Regehr <regehr at cs.utah.edu> wrote:
> To elaborate a bit on Phil's msg:
>
> On AVR interrupt priorities come into play only when there are multiple
> pending interupts and the processor needs to choose one to fire.  This is
> counterintuitive for most of us who expect a model similar to Windows NT
> or most UNIX kernels where a higher-priority interrupt can nest on a
> lower-priority interrupt, but not the other way around.
>
> AVR permits both nested and reentrant interrupts, where nesting means A
> preempts B and reentrancy means B preempts B.  The maximum depth of both
> reentrancy and nesting is limited only by stack constraints -- this has to
> be the case since the processor keeps no history regarding what interrupts
> are being processed.
>
> Small puzzle problem: Is there ever a legitimate (i.e., correct and
> appropriate) use of a reentrant interrupt handler?
>
> John Regehr
>
>
>
> On Fri, 10 Aug 2007, Philip Levis wrote:
>
> > On Aug 10, 2007, at 9:52 AM, Rodrigo Fonseca wrote:
> >
> > > Hi,
> > >
> > > in a project we are doing we need to take care of nested interrupts:
> > > interrupts that fire while the processor is inside an interrupt
> > > handler.
> > >
> > > The question is, for each processor, is there a bound for the number
> > > of nested interrupts we can have? Is that the number of different
> > > interrupt priorities, or is it only bounded by the size of the stack
> > > :) ?
> >
> >
> > Size of the stack. E.g., an interrupt can be self-preemptive.
> >
> > Phil
> > _______________________________________________
> > Tinyos-devel mailing list
> > Tinyos-devel at Millennium.Berkeley.EDU
> > https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel
> >
>


More information about the Tinyos-devel mailing list