All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.