* [Xenomai-core] [RFC] latency tracing
@ 2005-11-28 20:57 Jan Kiszka
2005-11-28 22:28 ` Philippe Gerum
0 siblings, 1 reply; 2+ messages in thread
From: Jan Kiszka @ 2005-11-28 20:57 UTC (permalink / raw)
To: xenomai-core
[-- Attachment #1: Type: text/plain, Size: 619 bytes --]
Hi,
as I'm lazy, er busy, I'm pushing this idea into public instead of
hacking a patch on my own: wouldn't it be nice to have something like
the latency backtrace of PREEMPT_RT also in Xenomai? Even when the core
is once optimised ;), there can still be drivers with long IRQ locks
nuking the WCET.
I saw that there is already something for SMP spinlock debugging. Is it
a lot of work to extend this to UP and maybe even all IRQ-off locks? Did
someone already look at the backtrace implementation of PREEMPT_RT in
details? Is is complicated to port? Does it require some changes at
ADEOS level?
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Xenomai-core] [RFC] latency tracing
2005-11-28 20:57 [Xenomai-core] [RFC] latency tracing Jan Kiszka
@ 2005-11-28 22:28 ` Philippe Gerum
0 siblings, 0 replies; 2+ messages in thread
From: Philippe Gerum @ 2005-11-28 22:28 UTC (permalink / raw)
To: Jan Kiszka; +Cc: xenomai-core
Jan Kiszka wrote:
> Hi,
>
> as I'm lazy, er busy, I'm pushing this idea into public instead of
> hacking a patch on my own: wouldn't it be nice to have something like
> the latency backtrace of PREEMPT_RT also in Xenomai?
Yes; we would had saved a lot of time with a precise debug
instrumentation in place in the early fusion days. It's a lesson for the
future.
Even when the core
> is once optimised ;), there can still be drivers with long IRQ locks
> nuking the WCET.
>
> I saw that there is already something for SMP spinlock debugging. Is it
> a lot of work to extend this to UP and maybe even all IRQ-off locks?
AFAICS, it's basically a matter of decoupling CONFIG_SMP and
CONFIG_XENO_SPINLOCK_DEBUG, so that we'd allow a dummy spinlock to exist
even in UP, just to carry on with the statistics collection.
Did
> someone already look at the backtrace implementation of PREEMPT_RT in
> details?
There are different levels of support for this, but basically, mcount()
support has been crafted for the kernel so that gcc can be asked to
insert prologue/epilogue calls in every routine when -pg is passed.
Additionally, a global trace function keeps a copy of internal timings
and callers %eip when traversed.
Is is complicated to port?
mcount() support should be fairly manageable to port.
Does it require some changes at
> ADEOS level?
>
Don't think so. gcc would do the job for the whole kernel anyway using
mcount(), and trace calls could be spreaded as needed otherwise.
> Jan
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Xenomai-core mailing list
> Xenomai-core@domain.hid
> https://mail.gna.org/listinfo/xenomai-core
--
Philippe.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-11-28 22:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-28 20:57 [Xenomai-core] [RFC] latency tracing Jan Kiszka
2005-11-28 22:28 ` Philippe Gerum
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.