All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] [PATCH] start tracer disabled
@ 2006-08-08 16:59 Jan Kiszka
  2006-08-08 17:53 ` [Xenomai-core] Re: [Adeos-main] " Philippe Gerum
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Kiszka @ 2006-08-08 16:59 UTC (permalink / raw)
  To: xenomai-core, adeos-main


[-- Attachment #1.1: Type: text/plain, Size: 298 bytes --]

Hi,

this tiny patch adds a config option to I-pipe to allow starting the
system with the tracer compiled in but disabled. You can then enabled it
on demand via /proc/ipipe/tracer/enable. This saves a bit time when
booting low-end boxes (I wonder why I didn't hacked this earlier...).

Jan

[-- Attachment #1.2: tracer-default-off.patch --]
[-- Type: text/plain, Size: 2181 bytes --]

Index: linux-2.6.17.8/kernel/ipipe/Kconfig
===================================================================
--- linux-2.6.17.8.orig/kernel/ipipe/Kconfig
+++ linux-2.6.17.8/kernel/ipipe/Kconfig
@@ -6,7 +6,7 @@ config IPIPE
 	  compiled in.
 
 config IPIPE_TRACE
- 	bool "Latency Tracing"
+	bool "Latency tracing"
 	depends on IPIPE && PROC_FS
 	select FRAME_POINTER
 	default n
@@ -18,6 +18,15 @@ config IPIPE_TRACE
 	  in-kernel tracing API. The collected data and runtime control
 	  is available via /proc/ipipe/trace/*.
 
+config IPIPE_TRACE_ENABLE
+	bool "Enable tracing on boot"
+	depends on IPIPE_TRACE
+	default y
+	---help---
+	  Disable this option if you want to arm the tracer after booting
+	  manually ("echo 1 > /proc/ipipe/tracer/enable"). This can reduce
+	  boot time on slow embedded devices due to the tracer overhead.
+
 config IPIPE_TRACE_IRQSOFF
 	bool "Trace IRQs-off times"
 	depends on IPIPE_TRACE
@@ -44,3 +53,8 @@ config IPIPE_TRACE_VMALLOC
 	  enabled. This can help to start systems that are low on memory,
 	  but it slightly degrades overall performance. Try this option
 	  when a traced kernel hangs unexpectedly at boot time.
+
+config IPIPE_TRACE_ENABLE_VALUE
+	int
+	default 0 if !IPIPE_TRACE_ENABLE
+	default 1 if IPIPE_TRACE_ENABLE
Index: linux-2.6.17.8/kernel/ipipe/tracer.c
===================================================================
--- linux-2.6.17.8.orig/kernel/ipipe/tracer.c
+++ linux-2.6.17.8/kernel/ipipe/tracer.c
@@ -105,7 +105,7 @@ enum ipipe_trace_type
 static struct ipipe_trace_path *trace_paths[NR_CPUS];
 
 #else /* !CONFIG_IPIPE_TRACE_VMALLOC */
-#define IPIPE_DEFAULT_TRACE_STATE   1
+#define IPIPE_DEFAULT_TRACE_STATE   CONFIG_IPIPE_TRACE_ENABLE_VALUE
 
 static struct ipipe_trace_path trace_paths[NR_CPUS][IPIPE_TRACE_PATHS] =
 	{ [0 ... NR_CPUS-1] =
@@ -1217,7 +1217,7 @@ void __init __ipipe_init_tracer(void)
 			trace_paths[cpu][path].end   = -1;
 		}
 	}
-	ipipe_trace_enable = 1;
+	ipipe_trace_enable = CONFIG_IPIPE_TRACE_ENABLE_VALUE;
 #endif /* CONFIG_IPIPE_TRACE_VMALLOC */
 
 	trace_dir = create_proc_entry("trace", S_IFDIR, ipipe_proc_root);

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Xenomai-core] Re: [Adeos-main] [PATCH] start tracer disabled
  2006-08-08 16:59 [Xenomai-core] [PATCH] start tracer disabled Jan Kiszka
@ 2006-08-08 17:53 ` Philippe Gerum
  0 siblings, 0 replies; 2+ messages in thread
From: Philippe Gerum @ 2006-08-08 17:53 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: adeos-main, xenomai-core

On Tue, 2006-08-08 at 18:59 +0200, Jan Kiszka wrote:
> Hi,
> 
> this tiny patch adds a config option to I-pipe to allow starting the
> system with the tracer compiled in but disabled. You can then enabled it
> on demand via /proc/ipipe/tracer/enable. This saves a bit time when
> booting low-end boxes (I wonder why I didn't hacked this earlier...).
> 

Merged, thanks.

> Jan
> plain text document attachment (tracer-default-off.patch)
> Index: linux-2.6.17.8/kernel/ipipe/Kconfig
> ===================================================================
> --- linux-2.6.17.8.orig/kernel/ipipe/Kconfig
> +++ linux-2.6.17.8/kernel/ipipe/Kconfig
> @@ -6,7 +6,7 @@ config IPIPE
>  	  compiled in.
>  
>  config IPIPE_TRACE
> - 	bool "Latency Tracing"
> +	bool "Latency tracing"
>  	depends on IPIPE && PROC_FS
>  	select FRAME_POINTER
>  	default n
> @@ -18,6 +18,15 @@ config IPIPE_TRACE
>  	  in-kernel tracing API. The collected data and runtime control
>  	  is available via /proc/ipipe/trace/*.
>  
> +config IPIPE_TRACE_ENABLE
> +	bool "Enable tracing on boot"
> +	depends on IPIPE_TRACE
> +	default y
> +	---help---
> +	  Disable this option if you want to arm the tracer after booting
> +	  manually ("echo 1 > /proc/ipipe/tracer/enable"). This can reduce
> +	  boot time on slow embedded devices due to the tracer overhead.
> +
>  config IPIPE_TRACE_IRQSOFF
>  	bool "Trace IRQs-off times"
>  	depends on IPIPE_TRACE
> @@ -44,3 +53,8 @@ config IPIPE_TRACE_VMALLOC
>  	  enabled. This can help to start systems that are low on memory,
>  	  but it slightly degrades overall performance. Try this option
>  	  when a traced kernel hangs unexpectedly at boot time.
> +
> +config IPIPE_TRACE_ENABLE_VALUE
> +	int
> +	default 0 if !IPIPE_TRACE_ENABLE
> +	default 1 if IPIPE_TRACE_ENABLE
> Index: linux-2.6.17.8/kernel/ipipe/tracer.c
> ===================================================================
> --- linux-2.6.17.8.orig/kernel/ipipe/tracer.c
> +++ linux-2.6.17.8/kernel/ipipe/tracer.c
> @@ -105,7 +105,7 @@ enum ipipe_trace_type
>  static struct ipipe_trace_path *trace_paths[NR_CPUS];
>  
>  #else /* !CONFIG_IPIPE_TRACE_VMALLOC */
> -#define IPIPE_DEFAULT_TRACE_STATE   1
> +#define IPIPE_DEFAULT_TRACE_STATE   CONFIG_IPIPE_TRACE_ENABLE_VALUE
>  
>  static struct ipipe_trace_path trace_paths[NR_CPUS][IPIPE_TRACE_PATHS] =
>  	{ [0 ... NR_CPUS-1] =
> @@ -1217,7 +1217,7 @@ void __init __ipipe_init_tracer(void)
>  			trace_paths[cpu][path].end   = -1;
>  		}
>  	}
> -	ipipe_trace_enable = 1;
> +	ipipe_trace_enable = CONFIG_IPIPE_TRACE_ENABLE_VALUE;
>  #endif /* CONFIG_IPIPE_TRACE_VMALLOC */
>  
>  	trace_dir = create_proc_entry("trace", S_IFDIR, ipipe_proc_root);
> _______________________________________________
> Adeos-main mailing list
> Adeos-main@domain.hid
> https://mail.gna.org/listinfo/adeos-main
-- 
Philippe.




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-08-08 17:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-08 16:59 [Xenomai-core] [PATCH] start tracer disabled Jan Kiszka
2006-08-08 17:53 ` [Xenomai-core] Re: [Adeos-main] " 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.