Jan Kiszka wrote:
> Sebastian Smolorz wrote:
> > Jan Kiszka wrote:
> >> Sebastian Smolorz wrote:
> >>> Jan Kiszka wrote:
> >>>> Sebastian Smolorz wrote:
> >>>>> Hi,
> >>>>>
> >>>>> we all know that the latency test should not be run with a period of
> >>>>> 100 us because it easily gets locked up. The attached trace
> >>>>> illustrates this problem in detail. It shows that a timer interrupt
> >>>>> needs about 50 us to be processed. Furthermore, there is not enough
> >>>>> time between two timer interrupts for the latency task to get all its
> >>>>> work done.
> >>>>>
> >>>>> The current I-pipe tracer patch for ARM is available at
> >>>>> http://opensource.emlix.com/ipipe-s3c24xx/download/ipipe-tracer-arm.p
> >>>>>at ch _v4
> >>>>>
> >>>>> Comments welcome.
> >>>>
> >>>> Something is still broken, given all those "N"s in Delay column. Is
> >>>> there something like NMI at all on your board?
> >>>
> >>> There isn't AFAIK. What could be the reason for all this noise?
> >>> Recursive spin-locking?
> >>
> >> Yes. If those Ns aren't false positive in the sense that
> >> IPIPE_TFLG_NMI_HIT is set accidentally, __ipipe_trace is re-entered
> >> while IPIPE_TFLG_NMI_LOCK is still set.
> >
> > Interesting: If I disable CONFIG_IPIPE_TRACE_MCOUNT the "Noise" doesn't
> > appear at all.
>
> Sounds like some function that __ipipe_trace calls is instrumented, thus
> the recursion. Could be something trivial like memcpy (if that happens
> to be uninlined here).

Ok, your hint was very useful! The problem was __ipipe_mach_get_tsc() which is 
no inline function (and can't be). I solved it by adding 'notrace' to the 
function. Now the 'N's don't appear at all!

--
Sebastian

_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main

Reply via email to