Please see my comments bellow:

On 11/11/06, Jan Kiszka <[EMAIL PROTECTED]> wrote:
Li Yi (Adam) wrote:
> Hi Jan and Philippe,

This must be

saying "root thread is about the be scheduled away". But then I'm
missing code here that one would normally see on x86:

Likely inlined on bfin, but this *must* make some noise:

Instead we enter the pending timer interrupt. This currently makes no
sense to me, rather make me think that something is skewed. Maybe only
the tracer, maybe more...

Do you have a tracer-log for i386 for reference? So I can do some compare.

> :|  # end     0x80000000   -50+   2.278  ___sched_text_start+0x5ca (__start+0xfffff000)
> :|  # func                 -48    0.922  ___ipipe_grab_irq+0x22 (__common_int_entry+0x72)
> :|  # begin   0x00000006   -47+   1.820  ___ipipe_grab_irq+0x34 (__start+0xfffff000)
> :|  # func                 -45+   1.530  ___ipipe_handle_irq+0x1e (___ipipe_grab_irq+0x3c)
> :|  # func                 -43+   1.168  _rthal_timer_ack+0x8 (___ipipe_handle_irq+0x178)
> :|  # func                 -42+   1.102  ___ipipe_dispatch_wired+0x14 (___ipipe_handle_irq+0x190)
> :|  # end     0x00000006   -41+   2.010  ___ipipe_grab_irq+0x42 (__start+0xfffff000)
> :   # func                 -39+   1.090  _ipipe_unstall_pipeline_head+0x8 (_xnshadow_harden+0xce)
> :|  # begin   0x80000001   -38+   2.308  _ipipe_unstall_pipeline_head+0x18 (__start+0xfffff000)

That's another weirdness, but now very likely of the tracer: both
tracepoints should contain the same parent entry, but the second one is
just nonsense. And there are such kind of parents all over the place -
hmm, actually any explicit trace point shows this problem. Is there no
way on bfin to get the caller from everywhere in a function? I guess
there is, likely a register, right?

Yes, by using the frame-pointer register (FP) it is possible to get parent's return address. The reason is that __builtin_return_address(1) is not implemented for Blackfin gcc. I have submitted feature request for the toolchain developer, hoping they could help.
Thanks for pointing out.

Xenomai-core mailing list

Reply via email to