[ECOS] Re: DSR stops running after heavy interrupts. Spurious Interrupt!

Sergei Organov osv@javad.com
Tue Apr 11 04:15:00 GMT 2006


Nick Garnett <nickg@ecoscentric.com> writes:
> "Joe Porthouse" <jporthouse@toptech.com> writes:
[...]

>> Was there a reason why interrupt_end() should not be
>> called on spurious interrupts?
>
> I guess it was an attempt to avoid doing more than the absolute
> minimum on spurious interrupts. It looks like there is a bug in there,
> since the scheduler lock doesn't get decremented. In general, spurious
> interrupts shouldn't happen, which is why it has managed to lurk here
> for so long.

Well, I think the right question here is why scheduler lock is
incremented at all? I mean if SMP implementations happen to increment it
inside the interrupt_end(), then it should be safe for ARM HAL to
increment it just before calling interrupt_end(), isn't it? This way
spurious interrupt handling code will avoid both scheduler lock
increment and interrupt_end() call. Makes sense?

-- Sergei.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list