This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: ISR not causing an DSR in some rare conditions
On Thu, 2006-01-12 at 14:42 +0100, Stefan Sommerfeld wrote:
> Hi,
> >>
> >> i'm using XScale PXA270 processor with latest eCos and I think I found a
> >> problem with DSR's. I'm 100% sure that there must be a condition where
> >> eCos
> >> not calls the DSR of an interrupt. I have a IRQ which comes 45 times a
> >> second on a system running at high load. After more then 10 hours one
> >> DSR
> >> is missing. This is a bad situation which makes the system unstable.
> >>
> >> Is this problem known? Maybe it depends only on the architecture (ARM).
> >
> > Does the ISR reenable the interrupt? It could be the next interrupt
> > arrives before the DSR is called. In that case the DSR will be called
> > with the count value of 2.
>
> No. The interrupts will not be disabled at any time. The interrupt from
> this source will only be acknowledged in the isr function.
>
> The functionality is simple. A hardware unit will be started and reports
> the finish with an interrupt. I have made a counter on hardware unit start,
> isr and dsr. After this long-run test, the dsr counter is one less than the
> other counters.
So, what else is going on that creates your "high load?" Possibly
there is some side effect [you may not even be aware of] that could
cause the DSR loss.
Have you checked to see if the DSR is ever called with a count other
than 1?
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss