* [Xenomai-core] [PATCH] reset tracer after timer calibration @ 2006-01-07 18:14 Jan Kiszka 2006-01-07 18:15 ` [Xenomai-core] " Jan Kiszka 0 siblings, 1 reply; 3+ messages in thread From: Jan Kiszka @ 2006-01-07 18:14 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai-core [-- Attachment #1: Type: text/plain, Size: 758 bytes --] Hi Philippe, this patch is to reset the maximum IRQs-off path after timer calibration (will get flooded otherwise). If you have no concerns, please apply. Actually, there is another noise source: rthal_timer_request() for the APIC case. But I think we should let this one alone as the user may trigger millisecond latencies by accidentally restarting the timer while some external-IRQ-driven device still depends on low latencies. In that case, the tracer can provide helpful hints. Therefore, in order to get useful information after starting the timer, one always have to run "echo > /proc/ipipe/trace/max" first. Well, if we move the timer start to some module init or whatever phase also for the native skin, we should reconsider this exclusion. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 256 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Xenomai-core] Re: [PATCH] reset tracer after timer calibration 2006-01-07 18:14 [Xenomai-core] [PATCH] reset tracer after timer calibration Jan Kiszka @ 2006-01-07 18:15 ` Jan Kiszka 2006-01-07 18:42 ` Philippe Gerum 0 siblings, 1 reply; 3+ messages in thread From: Jan Kiszka @ 2006-01-07 18:15 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai-core [-- Attachment #1.1: Type: text/plain, Size: 841 bytes --] Jan Kiszka wrote: > Hi Philippe, > > this patch is to reset the maximum IRQs-off path after timer calibration > (will get flooded otherwise). If you have no concerns, please apply. > > Actually, there is another noise source: rthal_timer_request() for the > APIC case. But I think we should let this one alone as the user may > trigger millisecond latencies by accidentally restarting the timer while > some external-IRQ-driven device still depends on low latencies. In that > case, the tracer can provide helpful hints. > > Therefore, in order to get useful information after starting the timer, > one always have to run "echo > /proc/ipipe/trace/max" first. Well, if we > move the timer start to some module init or whatever phase also for the > native skin, we should reconsider this exclusion. > > Jan and *with* the attachement... [-- Attachment #1.2: reset-trace.patch --] [-- Type: text/x-patch, Size: 1485 bytes --] Index: ChangeLog =================================================================== --- ChangeLog (Revision 388) +++ ChangeLog (Arbeitskopie) @@ -7,6 +7,8 @@ src/testsuite/latency/latency.c: Add re-freeze support and make use of it to back-trace always the max latency during benchmarks. + * ksrc/arch/i386/hal.c: reset tracer after timer calibration. + 2006-01-07 Heikki Lindholm <holindho@domain.hid> * include/asm-powerpc/system.h: Fix FPU preemption bug. Index: ksrc/arch/i386/hal.c =================================================================== --- ksrc/arch/i386/hal.c (Revision 386) +++ ksrc/arch/i386/hal.c (Arbeitskopie) @@ -61,6 +61,9 @@ #endif /* CONFIG_X86_LOCAL_APIC */ #include <asm/xenomai/hal.h> #include <stdarg.h> +#ifdef CONFIG_IPIPE_TRACE +#include <linux/ipipe_trace.h> +#endif /* CONFIG_IPIPE_TRACE */ extern struct desc_struct idt_table[]; @@ -177,6 +180,11 @@ rthal_critical_exit(flags); +#ifdef CONFIG_IPIPE_TRACE_IRQSOFF + /* reset the max trace, it contains the excessive calibration now */ + ipipe_trace_max_reset(); +#endif /* CONFIG_IPIPE_TRACE_IRQSOFF */ + return rthal_imuldiv(dt,100000,RTHAL_CPU_FREQ); } @@ -345,6 +353,11 @@ rthal_critical_exit(flags); +#ifdef CONFIG_IPIPE_TRACE_IRQSOFF + /* reset the max trace, it contains the excessive calibration now */ + ipipe_trace_max_reset(); +#endif /* CONFIG_IPIPE_TRACE_IRQSOFF */ + return rthal_imuldiv(dt,100000,RTHAL_CPU_FREQ); } [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 256 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Xenomai-core] Re: [PATCH] reset tracer after timer calibration 2006-01-07 18:15 ` [Xenomai-core] " Jan Kiszka @ 2006-01-07 18:42 ` Philippe Gerum 0 siblings, 0 replies; 3+ messages in thread From: Philippe Gerum @ 2006-01-07 18:42 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai-core Jan Kiszka wrote: > Jan Kiszka wrote: > >>Hi Philippe, >> >>this patch is to reset the maximum IRQs-off path after timer calibration >>(will get flooded otherwise). If you have no concerns, please apply. >> Applied, thanks. >>Actually, there is another noise source: rthal_timer_request() for the >>APIC case. But I think we should let this one alone as the user may >>trigger millisecond latencies by accidentally restarting the timer while >>some external-IRQ-driven device still depends on low latencies. In that >>case, the tracer can provide helpful hints. >> >>Therefore, in order to get useful information after starting the timer, >>one always have to run "echo > /proc/ipipe/trace/max" first. Well, if we >>move the timer start to some module init or whatever phase also for the >>native skin, we should reconsider this exclusion. >> We will do that right after -rc2, which is close now. >>Jan > > > and *with* the attachement... > > > ------------------------------------------------------------------------ > > Index: ChangeLog > =================================================================== > --- ChangeLog (Revision 388) > +++ ChangeLog (Arbeitskopie) > @@ -7,6 +7,8 @@ > src/testsuite/latency/latency.c: Add re-freeze support and make use > of it to back-trace always the max latency during benchmarks. > > + * ksrc/arch/i386/hal.c: reset tracer after timer calibration. > + > 2006-01-07 Heikki Lindholm <holindho@domain.hid> > > * include/asm-powerpc/system.h: Fix FPU preemption bug. > Index: ksrc/arch/i386/hal.c > =================================================================== > --- ksrc/arch/i386/hal.c (Revision 386) > +++ ksrc/arch/i386/hal.c (Arbeitskopie) > @@ -61,6 +61,9 @@ > #endif /* CONFIG_X86_LOCAL_APIC */ > #include <asm/xenomai/hal.h> > #include <stdarg.h> > +#ifdef CONFIG_IPIPE_TRACE > +#include <linux/ipipe_trace.h> > +#endif /* CONFIG_IPIPE_TRACE */ > > extern struct desc_struct idt_table[]; > > @@ -177,6 +180,11 @@ > > rthal_critical_exit(flags); > > +#ifdef CONFIG_IPIPE_TRACE_IRQSOFF > + /* reset the max trace, it contains the excessive calibration now */ > + ipipe_trace_max_reset(); > +#endif /* CONFIG_IPIPE_TRACE_IRQSOFF */ > + > return rthal_imuldiv(dt,100000,RTHAL_CPU_FREQ); > } > > @@ -345,6 +353,11 @@ > > rthal_critical_exit(flags); > > +#ifdef CONFIG_IPIPE_TRACE_IRQSOFF > + /* reset the max trace, it contains the excessive calibration now */ > + ipipe_trace_max_reset(); > +#endif /* CONFIG_IPIPE_TRACE_IRQSOFF */ > + > return rthal_imuldiv(dt,100000,RTHAL_CPU_FREQ); > } > -- Philippe. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-01-07 18:42 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-01-07 18:14 [Xenomai-core] [PATCH] reset tracer after timer calibration Jan Kiszka 2006-01-07 18:15 ` [Xenomai-core] " Jan Kiszka 2006-01-07 18:42 ` 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.