Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [ltt-dev] [UST PATCH 1/3] Change code for consistency
@ 2010-09-17 19:41 David Goulet
  2010-09-17 19:41 ` [ltt-dev] [UST PATCH 2/3] Syntax cleanup David Goulet
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: David Goulet @ 2010-09-17 19:41 UTC (permalink / raw)


Use the kcompat stringify header for double level
stringification for markers section.

Also use the GET_MARKER macro for uniformity across the code.

Signed-off-by: David Goulet <david.goulet at polymtl.ca>
---
 include/ust/marker.h |   33 +++++++++++++++------------------
 1 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/include/ust/marker.h b/include/ust/marker.h
index 2751f58..287f20f 100644
--- a/include/ust/marker.h
+++ b/include/ust/marker.h
@@ -30,15 +30,12 @@
 #include <urcu/list.h>
 #include <ust/processor.h>
 #include <ust/kcompat/kcompat.h>
+#include <ust/kcompat/stringify.h>
 
 #include <bits/wordsize.h>
 
 struct marker;
 
-/* To stringify the expansion of a define */
-#define XSTR(d) STR(d)
-#define STR(s) #s
-
 /**
  * marker_probe_func - Type of a marker probe function
  * @mdata: marker data
@@ -83,6 +80,8 @@ struct marker {
 #define CONFIG_MARKERS
 #ifdef CONFIG_MARKERS
 
+#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
+
 #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format, unique, m)			\
 		struct registers regs;								\
 												\
@@ -96,14 +95,14 @@ struct marker {
 		      * will try to create the same symbols, resulting in a conflict. This	\
 		      * is not unusual as it can be the result of function inlining.		\
 		      */									\
-		     ".ifndef __mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) "\n\t"	\
+		     ".ifndef __mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
 		     /*".section __markers_strings\n\t"*/					\
 		     ".section __markers_strings,\"aw\", at progbits\n\t"				\
-		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) ":\n\t"	\
-		     ".string \"" XSTR(channel) "\"\n\t"					\
-		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_" XSTR(unique) ":\n\t"	\
-		     ".string \"" XSTR(name) "\"\n\t"						\
-		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_" XSTR(unique) ":\n\t"	\
+		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ":\n\t"	\
+		     ".string \"" __stringify(channel) "\"\n\t"					\
+		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ":\n\t"	\
+		     ".string \"" __stringify(name) "\"\n\t"						\
+		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ":\n\t"	\
 		     ".string " "\"" format "\"" "\n\t"						\
 		     ".previous\n\t"								\
 		     ".endif\n\t"								\
@@ -113,14 +112,14 @@ struct marker {
 		     ".section __markers,\"aw\", at progbits\n\t"					\
 		     ".balign 8\n\t" 								\
 		     "2:\n\t" \
-		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) ")\n\t" /* channel string */ \
-		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_" XSTR(unique) ")\n\t" /* name string */ \
-		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_" XSTR(unique) ")\n\t" /* format string */ \
+		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel string */ \
+		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name string */ \
+		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format string */ \
 		     ".byte 0\n\t" /* state imv */						\
 		     ".byte 0\n\t" /* ptype */							\
 		     ".word 0\n\t" /* channel_id */						\
 		     ".word 0\n\t" /* event_id */						\
-		     ".balign " XSTR(__WORDSIZE) " / 8\n\t" /* alignment */			\
+		     ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment */			\
 		     _ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
 		     _ASM_PTR "(__mark_empty_function)\n\t" /* marker_probe_closure single.field1 */ \
 		     _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
@@ -146,7 +145,7 @@ struct marker {
 		static const char __mstrtab_##channel##_##name[]	\
 		__attribute__((section("__markers_strings")))		\
 		= #channel "\0" #name "\0" format;			\
-		static struct marker __mark_##channel##_##name		\
+		static struct marker GET_MARKER(channel, name)		\
 		__attribute__((section("__markers"), aligned(8))) =	\
 		{ __mstrtab_##channel##_##name,				\
 		  &__mstrtab_##channel##_##name[sizeof(#channel)],	\
@@ -195,15 +194,13 @@ struct marker {
 		}							\
 		DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\
 		__mark_check_format(format, ## args);			\
-		(*__mark_##channel##_##name.call)(&__mark_##channel##_##name, \
+		(*GET_MARKER(channel, name).call)(&GET_MARKER(channel, name), \
 			call_private, &regs, ## args);				\
 	} while (0)
 
 extern void marker_update_probe_range(struct marker *begin,
 	struct marker *end);
 
-#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
-
 #else /* !CONFIG_MARKERS */
 #define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m)
 #define __trace_mark(generic, channel, name, call_private, format, args...) \
-- 
1.7.2.3





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

* [ltt-dev] [UST PATCH 2/3] Syntax cleanup
  2010-09-17 19:41 [ltt-dev] [UST PATCH 1/3] Change code for consistency David Goulet
@ 2010-09-17 19:41 ` David Goulet
  2010-09-21 12:14   ` Nils Carlson
  2010-09-17 19:41 ` [ltt-dev] [UST PATCH 3/3] Remove unused code David Goulet
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: David Goulet @ 2010-09-17 19:41 UTC (permalink / raw)


Replace spaces by tabs and remove trailing white spaces

Signed-off-by: David Goulet <david.goulet at polymtl.ca>
---
 include/ust/marker.h |   91 ++++++++++++++++++++++++-------------------------
 1 files changed, 45 insertions(+), 46 deletions(-)

diff --git a/include/ust/marker.h b/include/ust/marker.h
index 287f20f..7670648 100644
--- a/include/ust/marker.h
+++ b/include/ust/marker.h
@@ -64,7 +64,7 @@ struct marker {
 	const char *format;	/* Marker format string, describing the
 				 * variable argument list.
 				 */
- 	DEFINE_IMV(char, state);/* Immediate value state. */
+	DEFINE_IMV(char, state);/* Immediate value state. */
 	char ptype;		/* probe type : 0 : single, 1 : multi */
 				/* Probe wrapper */
 	u16 channel_id;		/* Numeric channel identifier, dynamic */
@@ -89,47 +89,47 @@ struct marker {
 		 * because it must not require %-sign escaping, as we most certainly		\
 		 * have some %-signs in the format string.					\
 		 */										\
-		asm volatile ( 									\
-		     /* We only define these symbols if they have not yet been defined. Indeed, \
-		      * if two markers with the same channel/name are on the same line, they	\
-		      * will try to create the same symbols, resulting in a conflict. This	\
-		      * is not unusual as it can be the result of function inlining.		\
-		      */									\
-		     ".ifndef __mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
-		     /*".section __markers_strings\n\t"*/					\
-		     ".section __markers_strings,\"aw\", at progbits\n\t"				\
-		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ":\n\t"	\
-		     ".string \"" __stringify(channel) "\"\n\t"					\
-		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ":\n\t"	\
-		     ".string \"" __stringify(name) "\"\n\t"						\
-		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ":\n\t"	\
-		     ".string " "\"" format "\"" "\n\t"						\
-		     ".previous\n\t"								\
-		     ".endif\n\t"								\
+		asm volatile (									\
+			/* We only define these symbols if they have not yet been defined. Indeed, \
+			 * if two markers with the same channel/name are on the same line, they	\
+			 * will try to create the same symbols, resulting in a conflict. This	\
+			 * is not unusual as it can be the result of function inlining.		\
+			 */									\
+			".ifndef __mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
+			/*".section __markers_strings\n\t"*/					\
+			".section __markers_strings,\"aw\", at progbits\n\t"				\
+			"__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ":\n\t"	\
+			".string \"" __stringify(channel) "\"\n\t"					\
+			"__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ":\n\t"	\
+			".string \"" __stringify(name) "\"\n\t"						\
+			"__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ":\n\t"	\
+			".string " "\"" format "\"" "\n\t"						\
+			".previous\n\t"								\
+			".endif\n\t"								\
 		);										\
 		asm volatile (									\
-		     /*".section __markers\n\t"*/ \
-		     ".section __markers,\"aw\", at progbits\n\t"					\
-		     ".balign 8\n\t" 								\
-		     "2:\n\t" \
-		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel string */ \
-		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name string */ \
-		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format string */ \
-		     ".byte 0\n\t" /* state imv */						\
-		     ".byte 0\n\t" /* ptype */							\
-		     ".word 0\n\t" /* channel_id */						\
-		     ".word 0\n\t" /* event_id */						\
-		     ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment */			\
-		     _ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
-		     _ASM_PTR "(__mark_empty_function)\n\t" /* marker_probe_closure single.field1 */ \
-		     _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
-		     _ASM_PTR "0\n\t" /* marker_probe_closure *multi */				\
-		     _ASM_PTR "0\n\t" /* tp_name */						\
-		     _ASM_PTR "0\n\t" /* tp_cb */						\
-		     _ASM_PTR "(1f)\n\t" /* location */						\
-		     ".previous\n\t"								\
-		     "1:\n\t"									\
-		     ARCH_COPY_ADDR("%[outptr]")						\
+			/*".section __markers\n\t"*/ \
+			".section __markers,\"aw\", at progbits\n\t"					\
+			".balign 8\n\t"								\
+			"2:\n\t" \
+			_ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel string */ \
+			_ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name string */ \
+			_ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format string */ \
+			".byte 0\n\t" /* state imv */						\
+			".byte 0\n\t" /* ptype */							\
+			".word 0\n\t" /* channel_id */						\
+			".word 0\n\t" /* event_id */						\
+			".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment */			\
+			_ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
+			_ASM_PTR "(__mark_empty_function)\n\t" /* marker_probe_closure single.field1 */ \
+			_ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
+			_ASM_PTR "0\n\t" /* marker_probe_closure *multi */				\
+			_ASM_PTR "0\n\t" /* tp_name */						\
+			_ASM_PTR "0\n\t" /* tp_cb */						\
+			_ASM_PTR "(1f)\n\t" /* location */						\
+			".previous\n\t"								\
+			"1:\n\t"									\
+			ARCH_COPY_ADDR("%[outptr]")						\
 		: [outptr] "=r" (m) );								\
 												\
 		save_registers(&regs)
@@ -148,12 +148,11 @@ struct marker {
 		static struct marker GET_MARKER(channel, name)		\
 		__attribute__((section("__markers"), aligned(8))) =	\
 		{ __mstrtab_##channel##_##name,				\
-		  &__mstrtab_##channel##_##name[sizeof(#channel)],	\
-		  &__mstrtab_##channel##_##name[sizeof(#channel) +	\
-						sizeof(#name)],		\
-		  0, 0, 0, 0, marker_probe_cb,				\
-		  { __mark_empty_function, NULL},			\
-		  NULL, tp_name_str, tp_cb }
+			&__mstrtab_##channel##_##name[sizeof(#channel)],	\
+			&__mstrtab_##channel##_##name[sizeof(#channel) + sizeof(#name)],		\
+			0, 0, 0, 0, marker_probe_cb,				\
+			{ __mark_empty_function, NULL},			\
+			NULL, tp_name_str, tp_cb }
 
 /*
  * Make sure the alignment of the structure in the __markers section will
-- 
1.7.2.3




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

* [ltt-dev] [UST PATCH 3/3] Remove unused code
  2010-09-17 19:41 [ltt-dev] [UST PATCH 1/3] Change code for consistency David Goulet
  2010-09-17 19:41 ` [ltt-dev] [UST PATCH 2/3] Syntax cleanup David Goulet
@ 2010-09-17 19:41 ` David Goulet
  2010-09-21 12:14   ` Nils Carlson
  2010-09-26  5:13   ` Pierre-Marc Fournier
  2010-09-17 20:18 ` [ltt-dev] [UST PATCH 1/3] Change code for consistency Nils Carlson
  2010-09-21 12:13 ` Nils Carlson
  3 siblings, 2 replies; 12+ messages in thread
From: David Goulet @ 2010-09-17 19:41 UTC (permalink / raw)


Signed-off-by: David Goulet <david.goulet at polymtl.ca>
---
 include/ust/marker.h |   22 ----------------------
 1 files changed, 0 insertions(+), 22 deletions(-)

diff --git a/include/ust/marker.h b/include/ust/marker.h
index 7670648..6103629 100644
--- a/include/ust/marker.h
+++ b/include/ust/marker.h
@@ -77,9 +77,6 @@ struct marker {
 	void *location;		/* Address of marker in code */
 } __attribute__((aligned(8)));
 
-#define CONFIG_MARKERS
-#ifdef CONFIG_MARKERS
-
 #define GET_MARKER(channel, name)	(__mark_##channel##_##name)
 
 #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format, unique, m)			\
@@ -200,25 +197,6 @@ struct marker {
 extern void marker_update_probe_range(struct marker *begin,
 	struct marker *end);
 
-#else /* !CONFIG_MARKERS */
-#define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m)
-#define __trace_mark(generic, channel, name, call_private, format, args...) \
-		__mark_check_format(format, ## args)
-#define __trace_mark_tp(channel, name, call_private, tp_name, tp_cb,	\
-		format, args...)					\
-	do {								\
-		void __check_tp_type(void)				\
-		{							\
-			register_trace_##tp_name(tp_cb, call_private);		\
-		}							\
-		__mark_check_format(format, ## args);			\
-	} while (0)
-static inline void marker_update_probe_range(struct marker *begin,
-	struct marker *end)
-{ }
-#define GET_MARKER(channel, name)
-#endif /* CONFIG_MARKERS */
-
 /**
  * trace_mark - Marker using code patching
  * @channel: marker channel (where to send the data), not quoted.
-- 
1.7.2.3





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

* [ltt-dev] [UST PATCH 1/3] Change code for consistency
  2010-09-17 19:41 [ltt-dev] [UST PATCH 1/3] Change code for consistency David Goulet
  2010-09-17 19:41 ` [ltt-dev] [UST PATCH 2/3] Syntax cleanup David Goulet
  2010-09-17 19:41 ` [ltt-dev] [UST PATCH 3/3] Remove unused code David Goulet
@ 2010-09-17 20:18 ` Nils Carlson
  2010-09-17 21:04   ` David Goulet
  2010-09-21 12:13 ` Nils Carlson
  3 siblings, 1 reply; 12+ messages in thread
From: Nils Carlson @ 2010-09-17 20:18 UTC (permalink / raw)


Looks good!

Have you tried piping the old and new one through CPP with a file  
containing just one marker and running diff aftwerwards? This is sort  
of a good "test" when playing with the macros to make sure you've got  
it all right. Also very educational as you get to see what everything  
expands into in the end.

/Nils
On Sep 17, 2010, at 9:41 PM, David Goulet wrote:

> Use the kcompat stringify header for double level
> stringification for markers section.
>
> Also use the GET_MARKER macro for uniformity across the code.
>
> Signed-off-by: David Goulet <david.goulet at polymtl.ca>
> ---
> include/ust/marker.h |   33 +++++++++++++++------------------
> 1 files changed, 15 insertions(+), 18 deletions(-)
>
> diff --git a/include/ust/marker.h b/include/ust/marker.h
> index 2751f58..287f20f 100644
> --- a/include/ust/marker.h
> +++ b/include/ust/marker.h
> @@ -30,15 +30,12 @@
> #include <urcu/list.h>
> #include <ust/processor.h>
> #include <ust/kcompat/kcompat.h>
> +#include <ust/kcompat/stringify.h>
>
> #include <bits/wordsize.h>
>
> struct marker;
>
> -/* To stringify the expansion of a define */
> -#define XSTR(d) STR(d)
> -#define STR(s) #s
> -
> /**
>  * marker_probe_func - Type of a marker probe function
>  * @mdata: marker data
> @@ -83,6 +80,8 @@ struct marker {
> #define CONFIG_MARKERS
> #ifdef CONFIG_MARKERS
>
> +#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
> +
> #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format,  
> unique, m)			\
> 		struct registers regs;								\
> 												\
> @@ -96,14 +95,14 @@ struct marker {
> 		      * will try to create the same symbols, resulting in a  
> conflict. This	\
> 		      * is not unusual as it can be the result of function  
> inlining.		\
> 		      */									\
> -		     ".ifndef __mstrtab_" XSTR(channel) "_" XSTR(name)  
> "_channel_" XSTR(unique) "\n\t"	\
> +		     ".ifndef __mstrtab_" __stringify(channel) "_"  
> __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
> 		     /*".section __markers_strings\n\t"*/					\
> 		     ".section __markers_strings,\"aw\", at progbits\n\t"				\
> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_"  
> XSTR(unique) ":\n\t"	\
> -		     ".string \"" XSTR(channel) "\"\n\t"					\
> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_"  
> XSTR(unique) ":\n\t"	\
> -		     ".string \"" XSTR(name) "\"\n\t"						\
> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_"  
> XSTR(unique) ":\n\t"	\
> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)  
> "_channel_" __stringify(unique) ":\n\t"	\
> +		     ".string \"" __stringify(channel) "\"\n\t"					\
> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)  
> "_name_" __stringify(unique) ":\n\t"	\
> +		     ".string \"" __stringify(name) "\"\n\t"						\
> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)  
> "_format_" __stringify(unique) ":\n\t"	\
> 		     ".string " "\"" format "\"" "\n\t"						\
> 		     ".previous\n\t"								\
> 		     ".endif\n\t"								\
> @@ -113,14 +112,14 @@ struct marker {
> 		     ".section __markers,\"aw\", at progbits\n\t"					\
> 		     ".balign 8\n\t" 								\
> 		     "2:\n\t" \
> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name)  
> "_channel_" XSTR(unique) ")\n\t" /* channel string */ \
> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_"  
> XSTR(unique) ")\n\t" /* name string */ \
> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name)  
> "_format_" XSTR(unique) ")\n\t" /* format string */ \
> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"  
> __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel  
> string */ \
> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"  
> __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name  
> string */ \
> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"  
> __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format  
> string */ \
> 		     ".byte 0\n\t" /* state imv */						\
> 		     ".byte 0\n\t" /* ptype */							\
> 		     ".word 0\n\t" /* channel_id */						\
> 		     ".word 0\n\t" /* event_id */						\
> -		     ".balign " XSTR(__WORDSIZE) " / 8\n\t" /* alignment */			\
> +		     ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment  
> */			\
> 		     _ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
> 		     _ASM_PTR "(__mark_empty_function)\n\t" /*  
> marker_probe_closure single.field1 */ \
> 		     _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
> @@ -146,7 +145,7 @@ struct marker {
> 		static const char __mstrtab_##channel##_##name[]	\
> 		__attribute__((section("__markers_strings")))		\
> 		= #channel "\0" #name "\0" format;			\
> -		static struct marker __mark_##channel##_##name		\
> +		static struct marker GET_MARKER(channel, name)		\
> 		__attribute__((section("__markers"), aligned(8))) =	\
> 		{ __mstrtab_##channel##_##name,				\
> 		  &__mstrtab_##channel##_##name[sizeof(#channel)],	\
> @@ -195,15 +194,13 @@ struct marker {
> 		}							\
> 		DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\
> 		__mark_check_format(format, ## args);			\
> -		(*__mark_##channel##_##name.call)(&__mark_##channel##_##name, \
> +		(*GET_MARKER(channel, name).call)(&GET_MARKER(channel, name), \
> 			call_private, &regs, ## args);				\
> 	} while (0)
>
> extern void marker_update_probe_range(struct marker *begin,
> 	struct marker *end);
>
> -#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
> -
> #else /* !CONFIG_MARKERS */
> #define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m)
> #define __trace_mark(generic, channel, name, call_private, format,  
> args...) \
> -- 
> 1.7.2.3
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev





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

* [ltt-dev] [UST PATCH 1/3] Change code for consistency
  2010-09-17 20:18 ` [ltt-dev] [UST PATCH 1/3] Change code for consistency Nils Carlson
@ 2010-09-17 21:04   ` David Goulet
  2010-09-17 21:07     ` Mathieu Desnoyers
  0 siblings, 1 reply; 12+ messages in thread
From: David Goulet @ 2010-09-17 21:04 UTC (permalink / raw)


Frankly, I don't know what is CPP. I'll be happy if you can show me what it is.

However, every patch that I submit, I tested them with the tests/runtests and my
benchmark test.

Thanks
David

Selon Nils Carlson <nils.carlson at ludd.ltu.se>:

> Looks good!
>
> Have you tried piping the old and new one through CPP with a file
> containing just one marker and running diff aftwerwards? This is sort
> of a good "test" when playing with the macros to make sure you've got
> it all right. Also very educational as you get to see what everything
> expands into in the end.
>
> /Nils
> On Sep 17, 2010, at 9:41 PM, David Goulet wrote:
>
> > Use the kcompat stringify header for double level
> > stringification for markers section.
> >
> > Also use the GET_MARKER macro for uniformity across the code.
> >
> > Signed-off-by: David Goulet <david.goulet at polymtl.ca>
> > ---
> > include/ust/marker.h |   33 +++++++++++++++------------------
> > 1 files changed, 15 insertions(+), 18 deletions(-)
> >
> > diff --git a/include/ust/marker.h b/include/ust/marker.h
> > index 2751f58..287f20f 100644
> > --- a/include/ust/marker.h
> > +++ b/include/ust/marker.h
> > @@ -30,15 +30,12 @@
> > #include <urcu/list.h>
> > #include <ust/processor.h>
> > #include <ust/kcompat/kcompat.h>
> > +#include <ust/kcompat/stringify.h>
> >
> > #include <bits/wordsize.h>
> >
> > struct marker;
> >
> > -/* To stringify the expansion of a define */
> > -#define XSTR(d) STR(d)
> > -#define STR(s) #s
> > -
> > /**
> >  * marker_probe_func - Type of a marker probe function
> >  * @mdata: marker data
> > @@ -83,6 +80,8 @@ struct marker {
> > #define CONFIG_MARKERS
> > #ifdef CONFIG_MARKERS
> >
> > +#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
> > +
> > #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format,
> > unique, m)			\
> > 		struct registers regs;								\
> > 												\
> > @@ -96,14 +95,14 @@ struct marker {
> > 		      * will try to create the same symbols, resulting in a
> > conflict. This	\
> > 		      * is not unusual as it can be the result of function
> > inlining.		\
> > 		      */									\
> > -		     ".ifndef __mstrtab_" XSTR(channel) "_" XSTR(name)
> > "_channel_" XSTR(unique) "\n\t"	\
> > +		     ".ifndef __mstrtab_" __stringify(channel) "_"
> > __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
> > 		     /*".section __markers_strings\n\t"*/					\
> > 		     ".section __markers_strings,\"aw\", at progbits\n\t"				\
> > -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_"
> > XSTR(unique) ":\n\t"	\
> > -		     ".string \"" XSTR(channel) "\"\n\t"					\
> > -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_"
> > XSTR(unique) ":\n\t"	\
> > -		     ".string \"" XSTR(name) "\"\n\t"						\
> > -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_"
> > XSTR(unique) ":\n\t"	\
> > +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
> > "_channel_" __stringify(unique) ":\n\t"	\
> > +		     ".string \"" __stringify(channel) "\"\n\t"					\
> > +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
> > "_name_" __stringify(unique) ":\n\t"	\
> > +		     ".string \"" __stringify(name) "\"\n\t"						\
> > +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
> > "_format_" __stringify(unique) ":\n\t"	\
> > 		     ".string " "\"" format "\"" "\n\t"						\
> > 		     ".previous\n\t"								\
> > 		     ".endif\n\t"								\
> > @@ -113,14 +112,14 @@ struct marker {
> > 		     ".section __markers,\"aw\", at progbits\n\t"					\
> > 		     ".balign 8\n\t" 								\
> > 		     "2:\n\t" \
> > -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name)
> > "_channel_" XSTR(unique) ")\n\t" /* channel string */ \
> > -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_"
> > XSTR(unique) ")\n\t" /* name string */ \
> > -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name)
> > "_format_" XSTR(unique) ")\n\t" /* format string */ \
> > +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
> > __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel
> > string */ \
> > +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
> > __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name
> > string */ \
> > +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
> > __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format
> > string */ \
> > 		     ".byte 0\n\t" /* state imv */						\
> > 		     ".byte 0\n\t" /* ptype */							\
> > 		     ".word 0\n\t" /* channel_id */						\
> > 		     ".word 0\n\t" /* event_id */						\
> > -		     ".balign " XSTR(__WORDSIZE) " / 8\n\t" /* alignment */			\
> > +		     ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment
> > */			\
> > 		     _ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
> > 		     _ASM_PTR "(__mark_empty_function)\n\t" /*
> > marker_probe_closure single.field1 */ \
> > 		     _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
> > @@ -146,7 +145,7 @@ struct marker {
> > 		static const char __mstrtab_##channel##_##name[]	\
> > 		__attribute__((section("__markers_strings")))		\
> > 		= #channel "\0" #name "\0" format;			\
> > -		static struct marker __mark_##channel##_##name		\
> > +		static struct marker GET_MARKER(channel, name)		\
> > 		__attribute__((section("__markers"), aligned(8))) =	\
> > 		{ __mstrtab_##channel##_##name,				\
> > 		  &__mstrtab_##channel##_##name[sizeof(#channel)],	\
> > @@ -195,15 +194,13 @@ struct marker {
> > 		}							\
> > 		DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\
> > 		__mark_check_format(format, ## args);			\
> > -		(*__mark_##channel##_##name.call)(&__mark_##channel##_##name, \
> > +		(*GET_MARKER(channel, name).call)(&GET_MARKER(channel, name), \
> > 			call_private, &regs, ## args);				\
> > 	} while (0)
> >
> > extern void marker_update_probe_range(struct marker *begin,
> > 	struct marker *end);
> >
> > -#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
> > -
> > #else /* !CONFIG_MARKERS */
> > #define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m)
> > #define __trace_mark(generic, channel, name, call_private, format,
> > args...) \
> > --
> > 1.7.2.3
> >
> >
> > _______________________________________________
> > ltt-dev mailing list
> > ltt-dev at lists.casi.polymtl.ca
> > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
>






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

* [ltt-dev] [UST PATCH 1/3] Change code for consistency
  2010-09-17 21:04   ` David Goulet
@ 2010-09-17 21:07     ` Mathieu Desnoyers
  2010-09-17 21:40       ` David Goulet
  0 siblings, 1 reply; 12+ messages in thread
From: Mathieu Desnoyers @ 2010-09-17 21:07 UTC (permalink / raw)


* David Goulet (david.goulet at polymtl.ca) wrote:
> Frankly, I don't know what is CPP. I'll be happy if you can show me what it is.
> 
> However, every patch that I submit, I tested them with the tests/runtests and my
> benchmark test.

You know it, just just don't know it's called "CPP". It stands for "C
Preprocessor". gcc -E runs the preprocessor stage only.

Mathieu

> 
> Thanks
> David
> 
> Selon Nils Carlson <nils.carlson at ludd.ltu.se>:
> 
> > Looks good!
> >
> > Have you tried piping the old and new one through CPP with a file
> > containing just one marker and running diff aftwerwards? This is sort
> > of a good "test" when playing with the macros to make sure you've got
> > it all right. Also very educational as you get to see what everything
> > expands into in the end.
> >
> > /Nils
> > On Sep 17, 2010, at 9:41 PM, David Goulet wrote:
> >
> > > Use the kcompat stringify header for double level
> > > stringification for markers section.
> > >
> > > Also use the GET_MARKER macro for uniformity across the code.
> > >
> > > Signed-off-by: David Goulet <david.goulet at polymtl.ca>
> > > ---
> > > include/ust/marker.h |   33 +++++++++++++++------------------
> > > 1 files changed, 15 insertions(+), 18 deletions(-)
> > >
> > > diff --git a/include/ust/marker.h b/include/ust/marker.h
> > > index 2751f58..287f20f 100644
> > > --- a/include/ust/marker.h
> > > +++ b/include/ust/marker.h
> > > @@ -30,15 +30,12 @@
> > > #include <urcu/list.h>
> > > #include <ust/processor.h>
> > > #include <ust/kcompat/kcompat.h>
> > > +#include <ust/kcompat/stringify.h>
> > >
> > > #include <bits/wordsize.h>
> > >
> > > struct marker;
> > >
> > > -/* To stringify the expansion of a define */
> > > -#define XSTR(d) STR(d)
> > > -#define STR(s) #s
> > > -
> > > /**
> > >  * marker_probe_func - Type of a marker probe function
> > >  * @mdata: marker data
> > > @@ -83,6 +80,8 @@ struct marker {
> > > #define CONFIG_MARKERS
> > > #ifdef CONFIG_MARKERS
> > >
> > > +#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
> > > +
> > > #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format,
> > > unique, m)			\
> > > 		struct registers regs;								\
> > > 												\
> > > @@ -96,14 +95,14 @@ struct marker {
> > > 		      * will try to create the same symbols, resulting in a
> > > conflict. This	\
> > > 		      * is not unusual as it can be the result of function
> > > inlining.		\
> > > 		      */									\
> > > -		     ".ifndef __mstrtab_" XSTR(channel) "_" XSTR(name)
> > > "_channel_" XSTR(unique) "\n\t"	\
> > > +		     ".ifndef __mstrtab_" __stringify(channel) "_"
> > > __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
> > > 		     /*".section __markers_strings\n\t"*/					\
> > > 		     ".section __markers_strings,\"aw\", at progbits\n\t"				\
> > > -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_"
> > > XSTR(unique) ":\n\t"	\
> > > -		     ".string \"" XSTR(channel) "\"\n\t"					\
> > > -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_"
> > > XSTR(unique) ":\n\t"	\
> > > -		     ".string \"" XSTR(name) "\"\n\t"						\
> > > -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_"
> > > XSTR(unique) ":\n\t"	\
> > > +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
> > > "_channel_" __stringify(unique) ":\n\t"	\
> > > +		     ".string \"" __stringify(channel) "\"\n\t"					\
> > > +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
> > > "_name_" __stringify(unique) ":\n\t"	\
> > > +		     ".string \"" __stringify(name) "\"\n\t"						\
> > > +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
> > > "_format_" __stringify(unique) ":\n\t"	\
> > > 		     ".string " "\"" format "\"" "\n\t"						\
> > > 		     ".previous\n\t"								\
> > > 		     ".endif\n\t"								\
> > > @@ -113,14 +112,14 @@ struct marker {
> > > 		     ".section __markers,\"aw\", at progbits\n\t"					\
> > > 		     ".balign 8\n\t" 								\
> > > 		     "2:\n\t" \
> > > -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name)
> > > "_channel_" XSTR(unique) ")\n\t" /* channel string */ \
> > > -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_"
> > > XSTR(unique) ")\n\t" /* name string */ \
> > > -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name)
> > > "_format_" XSTR(unique) ")\n\t" /* format string */ \
> > > +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
> > > __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel
> > > string */ \
> > > +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
> > > __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name
> > > string */ \
> > > +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
> > > __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format
> > > string */ \
> > > 		     ".byte 0\n\t" /* state imv */						\
> > > 		     ".byte 0\n\t" /* ptype */							\
> > > 		     ".word 0\n\t" /* channel_id */						\
> > > 		     ".word 0\n\t" /* event_id */						\
> > > -		     ".balign " XSTR(__WORDSIZE) " / 8\n\t" /* alignment */			\
> > > +		     ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment
> > > */			\
> > > 		     _ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
> > > 		     _ASM_PTR "(__mark_empty_function)\n\t" /*
> > > marker_probe_closure single.field1 */ \
> > > 		     _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
> > > @@ -146,7 +145,7 @@ struct marker {
> > > 		static const char __mstrtab_##channel##_##name[]	\
> > > 		__attribute__((section("__markers_strings")))		\
> > > 		= #channel "\0" #name "\0" format;			\
> > > -		static struct marker __mark_##channel##_##name		\
> > > +		static struct marker GET_MARKER(channel, name)		\
> > > 		__attribute__((section("__markers"), aligned(8))) =	\
> > > 		{ __mstrtab_##channel##_##name,				\
> > > 		  &__mstrtab_##channel##_##name[sizeof(#channel)],	\
> > > @@ -195,15 +194,13 @@ struct marker {
> > > 		}							\
> > > 		DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\
> > > 		__mark_check_format(format, ## args);			\
> > > -		(*__mark_##channel##_##name.call)(&__mark_##channel##_##name, \
> > > +		(*GET_MARKER(channel, name).call)(&GET_MARKER(channel, name), \
> > > 			call_private, &regs, ## args);				\
> > > 	} while (0)
> > >
> > > extern void marker_update_probe_range(struct marker *begin,
> > > 	struct marker *end);
> > >
> > > -#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
> > > -
> > > #else /* !CONFIG_MARKERS */
> > > #define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m)
> > > #define __trace_mark(generic, channel, name, call_private, format,
> > > args...) \
> > > --
> > > 1.7.2.3
> > >
> > >
> > > _______________________________________________
> > > ltt-dev mailing list
> > > ltt-dev at lists.casi.polymtl.ca
> > > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> >
> >
> 
> 
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




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

* [ltt-dev] [UST PATCH 1/3] Change code for consistency
  2010-09-17 21:07     ` Mathieu Desnoyers
@ 2010-09-17 21:40       ` David Goulet
  0 siblings, 0 replies; 12+ messages in thread
From: David Goulet @ 2010-09-17 21:40 UTC (permalink / raw)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On 10-09-17 05:07 PM, Mathieu Desnoyers wrote:
> * David Goulet (david.goulet at polymtl.ca) wrote:
>> Frankly, I don't know what is CPP. I'll be happy if you can show me what it is.
>>
>> However, every patch that I submit, I tested them with the tests/runtests and my
>> benchmark test.
> 
> You know it, just just don't know it's called "CPP". It stands for "C
> Preprocessor". gcc -E runs the preprocessor stage only.
> 

Awwwwwwww :) ... of course i'm using that... it's the only way I can decrypt the
UST Macros :P

David

> Mathieu
> 
>>
>> Thanks
>> David
>>
>> Selon Nils Carlson <nils.carlson at ludd.ltu.se>:
>>
>>> Looks good!
>>>
>>> Have you tried piping the old and new one through CPP with a file
>>> containing just one marker and running diff aftwerwards? This is sort
>>> of a good "test" when playing with the macros to make sure you've got
>>> it all right. Also very educational as you get to see what everything
>>> expands into in the end.
>>>
>>> /Nils
>>> On Sep 17, 2010, at 9:41 PM, David Goulet wrote:
>>>
>>>> Use the kcompat stringify header for double level
>>>> stringification for markers section.
>>>>
>>>> Also use the GET_MARKER macro for uniformity across the code.
>>>>
>>>> Signed-off-by: David Goulet <david.goulet at polymtl.ca>
>>>> ---
>>>> include/ust/marker.h |   33 +++++++++++++++------------------
>>>> 1 files changed, 15 insertions(+), 18 deletions(-)
>>>>
>>>> diff --git a/include/ust/marker.h b/include/ust/marker.h
>>>> index 2751f58..287f20f 100644
>>>> --- a/include/ust/marker.h
>>>> +++ b/include/ust/marker.h
>>>> @@ -30,15 +30,12 @@
>>>> #include <urcu/list.h>
>>>> #include <ust/processor.h>
>>>> #include <ust/kcompat/kcompat.h>
>>>> +#include <ust/kcompat/stringify.h>
>>>>
>>>> #include <bits/wordsize.h>
>>>>
>>>> struct marker;
>>>>
>>>> -/* To stringify the expansion of a define */
>>>> -#define XSTR(d) STR(d)
>>>> -#define STR(s) #s
>>>> -
>>>> /**
>>>>  * marker_probe_func - Type of a marker probe function
>>>>  * @mdata: marker data
>>>> @@ -83,6 +80,8 @@ struct marker {
>>>> #define CONFIG_MARKERS
>>>> #ifdef CONFIG_MARKERS
>>>>
>>>> +#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
>>>> +
>>>> #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format,
>>>> unique, m)			\
>>>> 		struct registers regs;								\
>>>> 												\
>>>> @@ -96,14 +95,14 @@ struct marker {
>>>> 		      * will try to create the same symbols, resulting in a
>>>> conflict. This	\
>>>> 		      * is not unusual as it can be the result of function
>>>> inlining.		\
>>>> 		      */									\
>>>> -		     ".ifndef __mstrtab_" XSTR(channel) "_" XSTR(name)
>>>> "_channel_" XSTR(unique) "\n\t"	\
>>>> +		     ".ifndef __mstrtab_" __stringify(channel) "_"
>>>> __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
>>>> 		     /*".section __markers_strings\n\t"*/					\
>>>> 		     ".section __markers_strings,\"aw\", at progbits\n\t"				\
>>>> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_"
>>>> XSTR(unique) ":\n\t"	\
>>>> -		     ".string \"" XSTR(channel) "\"\n\t"					\
>>>> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_"
>>>> XSTR(unique) ":\n\t"	\
>>>> -		     ".string \"" XSTR(name) "\"\n\t"						\
>>>> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_"
>>>> XSTR(unique) ":\n\t"	\
>>>> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
>>>> "_channel_" __stringify(unique) ":\n\t"	\
>>>> +		     ".string \"" __stringify(channel) "\"\n\t"					\
>>>> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
>>>> "_name_" __stringify(unique) ":\n\t"	\
>>>> +		     ".string \"" __stringify(name) "\"\n\t"						\
>>>> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name)
>>>> "_format_" __stringify(unique) ":\n\t"	\
>>>> 		     ".string " "\"" format "\"" "\n\t"						\
>>>> 		     ".previous\n\t"								\
>>>> 		     ".endif\n\t"								\
>>>> @@ -113,14 +112,14 @@ struct marker {
>>>> 		     ".section __markers,\"aw\", at progbits\n\t"					\
>>>> 		     ".balign 8\n\t" 								\
>>>> 		     "2:\n\t" \
>>>> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name)
>>>> "_channel_" XSTR(unique) ")\n\t" /* channel string */ \
>>>> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_"
>>>> XSTR(unique) ")\n\t" /* name string */ \
>>>> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name)
>>>> "_format_" XSTR(unique) ")\n\t" /* format string */ \
>>>> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
>>>> __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel
>>>> string */ \
>>>> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
>>>> __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name
>>>> string */ \
>>>> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_"
>>>> __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format
>>>> string */ \
>>>> 		     ".byte 0\n\t" /* state imv */						\
>>>> 		     ".byte 0\n\t" /* ptype */							\
>>>> 		     ".word 0\n\t" /* channel_id */						\
>>>> 		     ".word 0\n\t" /* event_id */						\
>>>> -		     ".balign " XSTR(__WORDSIZE) " / 8\n\t" /* alignment */			\
>>>> +		     ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment
>>>> */			\
>>>> 		     _ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
>>>> 		     _ASM_PTR "(__mark_empty_function)\n\t" /*
>>>> marker_probe_closure single.field1 */ \
>>>> 		     _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
>>>> @@ -146,7 +145,7 @@ struct marker {
>>>> 		static const char __mstrtab_##channel##_##name[]	\
>>>> 		__attribute__((section("__markers_strings")))		\
>>>> 		= #channel "\0" #name "\0" format;			\
>>>> -		static struct marker __mark_##channel##_##name		\
>>>> +		static struct marker GET_MARKER(channel, name)		\
>>>> 		__attribute__((section("__markers"), aligned(8))) =	\
>>>> 		{ __mstrtab_##channel##_##name,				\
>>>> 		  &__mstrtab_##channel##_##name[sizeof(#channel)],	\
>>>> @@ -195,15 +194,13 @@ struct marker {
>>>> 		}							\
>>>> 		DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\
>>>> 		__mark_check_format(format, ## args);			\
>>>> -		(*__mark_##channel##_##name.call)(&__mark_##channel##_##name, \
>>>> +		(*GET_MARKER(channel, name).call)(&GET_MARKER(channel, name), \
>>>> 			call_private, &regs, ## args);				\
>>>> 	} while (0)
>>>>
>>>> extern void marker_update_probe_range(struct marker *begin,
>>>> 	struct marker *end);
>>>>
>>>> -#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
>>>> -
>>>> #else /* !CONFIG_MARKERS */
>>>> #define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m)
>>>> #define __trace_mark(generic, channel, name, call_private, format,
>>>> args...) \
>>>> --
>>>> 1.7.2.3
>>>>
>>>>
>>>> _______________________________________________
>>>> ltt-dev mailing list
>>>> ltt-dev at lists.casi.polymtl.ca
>>>> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>>>
>>>
>>
>>
>>
> 

- -- 
David Goulet
LTTng project, DORSAL Lab.

1024D/16BD8563
BE3C 672B 9331 9796 291A  14C6 4AF7 C14B 16BD 8563
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkyT4EgACgkQSvfBSxa9hWNuswCgnbat1TuV0xkGqtlrj+SZSPac
7LAAoLO0LHtIZgxcKZ07NHIuIEnE7XeK
=IB+h
-----END PGP SIGNATURE-----



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

* [ltt-dev] [UST PATCH 1/3] Change code for consistency
  2010-09-17 19:41 [ltt-dev] [UST PATCH 1/3] Change code for consistency David Goulet
                   ` (2 preceding siblings ...)
  2010-09-17 20:18 ` [ltt-dev] [UST PATCH 1/3] Change code for consistency Nils Carlson
@ 2010-09-21 12:13 ` Nils Carlson
  3 siblings, 0 replies; 12+ messages in thread
From: Nils Carlson @ 2010-09-21 12:13 UTC (permalink / raw)


Acked, pulled, thanks.

/Nils

On Fri, 17 Sep 2010, David Goulet wrote:

> Use the kcompat stringify header for double level
> stringification for markers section.
>
> Also use the GET_MARKER macro for uniformity across the code.
>
> Signed-off-by: David Goulet <david.goulet at polymtl.ca>
> ---
> include/ust/marker.h |   33 +++++++++++++++------------------
> 1 files changed, 15 insertions(+), 18 deletions(-)
>
> diff --git a/include/ust/marker.h b/include/ust/marker.h
> index 2751f58..287f20f 100644
> --- a/include/ust/marker.h
> +++ b/include/ust/marker.h
> @@ -30,15 +30,12 @@
> #include <urcu/list.h>
> #include <ust/processor.h>
> #include <ust/kcompat/kcompat.h>
> +#include <ust/kcompat/stringify.h>
>
> #include <bits/wordsize.h>
>
> struct marker;
>
> -/* To stringify the expansion of a define */
> -#define XSTR(d) STR(d)
> -#define STR(s) #s
> -
> /**
>  * marker_probe_func - Type of a marker probe function
>  * @mdata: marker data
> @@ -83,6 +80,8 @@ struct marker {
> #define CONFIG_MARKERS
> #ifdef CONFIG_MARKERS
>
> +#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
> +
> #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format, unique, m)			\
> 		struct registers regs;								\
> 												\
> @@ -96,14 +95,14 @@ struct marker {
> 		      * will try to create the same symbols, resulting in a conflict. This	\
> 		      * is not unusual as it can be the result of function inlining.		\
> 		      */									\
> -		     ".ifndef __mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) "\n\t"	\
> +		     ".ifndef __mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
> 		     /*".section __markers_strings\n\t"*/					\
> 		     ".section __markers_strings,\"aw\", at progbits\n\t"				\
> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) ":\n\t"	\
> -		     ".string \"" XSTR(channel) "\"\n\t"					\
> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_" XSTR(unique) ":\n\t"	\
> -		     ".string \"" XSTR(name) "\"\n\t"						\
> -		     "__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_" XSTR(unique) ":\n\t"	\
> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ":\n\t"	\
> +		     ".string \"" __stringify(channel) "\"\n\t"					\
> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ":\n\t"	\
> +		     ".string \"" __stringify(name) "\"\n\t"						\
> +		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ":\n\t"	\
> 		     ".string " "\"" format "\"" "\n\t"						\
> 		     ".previous\n\t"								\
> 		     ".endif\n\t"								\
> @@ -113,14 +112,14 @@ struct marker {
> 		     ".section __markers,\"aw\", at progbits\n\t"					\
> 		     ".balign 8\n\t" 								\
> 		     "2:\n\t" \
> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) ")\n\t" /* channel string */ \
> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_" XSTR(unique) ")\n\t" /* name string */ \
> -		     _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_" XSTR(unique) ")\n\t" /* format string */ \
> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel string */ \
> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name string */ \
> +		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format string */ \
> 		     ".byte 0\n\t" /* state imv */						\
> 		     ".byte 0\n\t" /* ptype */							\
> 		     ".word 0\n\t" /* channel_id */						\
> 		     ".word 0\n\t" /* event_id */						\
> -		     ".balign " XSTR(__WORDSIZE) " / 8\n\t" /* alignment */			\
> +		     ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment */			\
> 		     _ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
> 		     _ASM_PTR "(__mark_empty_function)\n\t" /* marker_probe_closure single.field1 */ \
> 		     _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
> @@ -146,7 +145,7 @@ struct marker {
> 		static const char __mstrtab_##channel##_##name[]	\
> 		__attribute__((section("__markers_strings")))		\
> 		= #channel "\0" #name "\0" format;			\
> -		static struct marker __mark_##channel##_##name		\
> +		static struct marker GET_MARKER(channel, name)		\
> 		__attribute__((section("__markers"), aligned(8))) =	\
> 		{ __mstrtab_##channel##_##name,				\
> 		  &__mstrtab_##channel##_##name[sizeof(#channel)],	\
> @@ -195,15 +194,13 @@ struct marker {
> 		}							\
> 		DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\
> 		__mark_check_format(format, ## args);			\
> -		(*__mark_##channel##_##name.call)(&__mark_##channel##_##name, \
> +		(*GET_MARKER(channel, name).call)(&GET_MARKER(channel, name), \
> 			call_private, &regs, ## args);				\
> 	} while (0)
>
> extern void marker_update_probe_range(struct marker *begin,
> 	struct marker *end);
>
> -#define GET_MARKER(channel, name)	(__mark_##channel##_##name)
> -
> #else /* !CONFIG_MARKERS */
> #define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m)
> #define __trace_mark(generic, channel, name, call_private, format, args...) \
> -- 
> 1.7.2.3
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>




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

* [ltt-dev] [UST PATCH 2/3] Syntax cleanup
  2010-09-17 19:41 ` [ltt-dev] [UST PATCH 2/3] Syntax cleanup David Goulet
@ 2010-09-21 12:14   ` Nils Carlson
  0 siblings, 0 replies; 12+ messages in thread
From: Nils Carlson @ 2010-09-21 12:14 UTC (permalink / raw)


Acked, pulled, thanks.

/Nils

On Fri, 17 Sep 2010, David Goulet wrote:

> Replace spaces by tabs and remove trailing white spaces
>
> Signed-off-by: David Goulet <david.goulet at polymtl.ca>
> ---
> include/ust/marker.h |   91 ++++++++++++++++++++++++-------------------------
> 1 files changed, 45 insertions(+), 46 deletions(-)
>
> diff --git a/include/ust/marker.h b/include/ust/marker.h
> index 287f20f..7670648 100644
> --- a/include/ust/marker.h
> +++ b/include/ust/marker.h
> @@ -64,7 +64,7 @@ struct marker {
> 	const char *format;	/* Marker format string, describing the
> 				 * variable argument list.
> 				 */
> - 	DEFINE_IMV(char, state);/* Immediate value state. */
> +	DEFINE_IMV(char, state);/* Immediate value state. */
> 	char ptype;		/* probe type : 0 : single, 1 : multi */
> 				/* Probe wrapper */
> 	u16 channel_id;		/* Numeric channel identifier, dynamic */
> @@ -89,47 +89,47 @@ struct marker {
> 		 * because it must not require %-sign escaping, as we most certainly		\
> 		 * have some %-signs in the format string.					\
> 		 */										\
> -		asm volatile ( 									\
> -		     /* We only define these symbols if they have not yet been defined. Indeed, \
> -		      * if two markers with the same channel/name are on the same line, they	\
> -		      * will try to create the same symbols, resulting in a conflict. This	\
> -		      * is not unusual as it can be the result of function inlining.		\
> -		      */									\
> -		     ".ifndef __mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
> -		     /*".section __markers_strings\n\t"*/					\
> -		     ".section __markers_strings,\"aw\", at progbits\n\t"				\
> -		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ":\n\t"	\
> -		     ".string \"" __stringify(channel) "\"\n\t"					\
> -		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ":\n\t"	\
> -		     ".string \"" __stringify(name) "\"\n\t"						\
> -		     "__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ":\n\t"	\
> -		     ".string " "\"" format "\"" "\n\t"						\
> -		     ".previous\n\t"								\
> -		     ".endif\n\t"								\
> +		asm volatile (									\
> +			/* We only define these symbols if they have not yet been defined. Indeed, \
> +			 * if two markers with the same channel/name are on the same line, they	\
> +			 * will try to create the same symbols, resulting in a conflict. This	\
> +			 * is not unusual as it can be the result of function inlining.		\
> +			 */									\
> +			".ifndef __mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) "\n\t"	\
> +			/*".section __markers_strings\n\t"*/					\
> +			".section __markers_strings,\"aw\", at progbits\n\t"				\
> +			"__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ":\n\t"	\
> +			".string \"" __stringify(channel) "\"\n\t"					\
> +			"__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ":\n\t"	\
> +			".string \"" __stringify(name) "\"\n\t"						\
> +			"__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ":\n\t"	\
> +			".string " "\"" format "\"" "\n\t"						\
> +			".previous\n\t"								\
> +			".endif\n\t"								\
> 		);										\
> 		asm volatile (									\
> -		     /*".section __markers\n\t"*/ \
> -		     ".section __markers,\"aw\", at progbits\n\t"					\
> -		     ".balign 8\n\t" 								\
> -		     "2:\n\t" \
> -		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel string */ \
> -		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name string */ \
> -		     _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format string */ \
> -		     ".byte 0\n\t" /* state imv */						\
> -		     ".byte 0\n\t" /* ptype */							\
> -		     ".word 0\n\t" /* channel_id */						\
> -		     ".word 0\n\t" /* event_id */						\
> -		     ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment */			\
> -		     _ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
> -		     _ASM_PTR "(__mark_empty_function)\n\t" /* marker_probe_closure single.field1 */ \
> -		     _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
> -		     _ASM_PTR "0\n\t" /* marker_probe_closure *multi */				\
> -		     _ASM_PTR "0\n\t" /* tp_name */						\
> -		     _ASM_PTR "0\n\t" /* tp_cb */						\
> -		     _ASM_PTR "(1f)\n\t" /* location */						\
> -		     ".previous\n\t"								\
> -		     "1:\n\t"									\
> -		     ARCH_COPY_ADDR("%[outptr]")						\
> +			/*".section __markers\n\t"*/ \
> +			".section __markers,\"aw\", at progbits\n\t"					\
> +			".balign 8\n\t"								\
> +			"2:\n\t" \
> +			_ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel string */ \
> +			_ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name string */ \
> +			_ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format string */ \
> +			".byte 0\n\t" /* state imv */						\
> +			".byte 0\n\t" /* ptype */							\
> +			".word 0\n\t" /* channel_id */						\
> +			".word 0\n\t" /* event_id */						\
> +			".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment */			\
> +			_ASM_PTR "(marker_probe_cb)\n\t" /* call */				\
> +			_ASM_PTR "(__mark_empty_function)\n\t" /* marker_probe_closure single.field1 */ \
> +			_ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */			\
> +			_ASM_PTR "0\n\t" /* marker_probe_closure *multi */				\
> +			_ASM_PTR "0\n\t" /* tp_name */						\
> +			_ASM_PTR "0\n\t" /* tp_cb */						\
> +			_ASM_PTR "(1f)\n\t" /* location */						\
> +			".previous\n\t"								\
> +			"1:\n\t"									\
> +			ARCH_COPY_ADDR("%[outptr]")						\
> 		: [outptr] "=r" (m) );								\
> 												\
> 		save_registers(&regs)
> @@ -148,12 +148,11 @@ struct marker {
> 		static struct marker GET_MARKER(channel, name)		\
> 		__attribute__((section("__markers"), aligned(8))) =	\
> 		{ __mstrtab_##channel##_##name,				\
> -		  &__mstrtab_##channel##_##name[sizeof(#channel)],	\
> -		  &__mstrtab_##channel##_##name[sizeof(#channel) +	\
> -						sizeof(#name)],		\
> -		  0, 0, 0, 0, marker_probe_cb,				\
> -		  { __mark_empty_function, NULL},			\
> -		  NULL, tp_name_str, tp_cb }
> +			&__mstrtab_##channel##_##name[sizeof(#channel)],	\
> +			&__mstrtab_##channel##_##name[sizeof(#channel) + sizeof(#name)],		\
> +			0, 0, 0, 0, marker_probe_cb,				\
> +			{ __mark_empty_function, NULL},			\
> +			NULL, tp_name_str, tp_cb }
>
> /*
>  * Make sure the alignment of the structure in the __markers section will
> -- 
> 1.7.2.3
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>




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

* [ltt-dev] [UST PATCH 3/3] Remove unused code
  2010-09-17 19:41 ` [ltt-dev] [UST PATCH 3/3] Remove unused code David Goulet
@ 2010-09-21 12:14   ` Nils Carlson
  2010-09-26  5:13   ` Pierre-Marc Fournier
  1 sibling, 0 replies; 12+ messages in thread
From: Nils Carlson @ 2010-09-21 12:14 UTC (permalink / raw)


Acked, pulled, thanks.

/Nils

On Fri, 17 Sep 2010, David Goulet wrote:

> Signed-off-by: David Goulet <david.goulet at polymtl.ca>
> ---
> include/ust/marker.h |   22 ----------------------
> 1 files changed, 0 insertions(+), 22 deletions(-)
>
> diff --git a/include/ust/marker.h b/include/ust/marker.h
> index 7670648..6103629 100644
> --- a/include/ust/marker.h
> +++ b/include/ust/marker.h
> @@ -77,9 +77,6 @@ struct marker {
> 	void *location;		/* Address of marker in code */
> } __attribute__((aligned(8)));
>
> -#define CONFIG_MARKERS
> -#ifdef CONFIG_MARKERS
> -
> #define GET_MARKER(channel, name)	(__mark_##channel##_##name)
>
> #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format, unique, m)			\
> @@ -200,25 +197,6 @@ struct marker {
> extern void marker_update_probe_range(struct marker *begin,
> 	struct marker *end);
>
> -#else /* !CONFIG_MARKERS */
> -#define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m)
> -#define __trace_mark(generic, channel, name, call_private, format, args...) \
> -		__mark_check_format(format, ## args)
> -#define __trace_mark_tp(channel, name, call_private, tp_name, tp_cb,	\
> -		format, args...)					\
> -	do {								\
> -		void __check_tp_type(void)				\
> -		{							\
> -			register_trace_##tp_name(tp_cb, call_private);		\
> -		}							\
> -		__mark_check_format(format, ## args);			\
> -	} while (0)
> -static inline void marker_update_probe_range(struct marker *begin,
> -	struct marker *end)
> -{ }
> -#define GET_MARKER(channel, name)
> -#endif /* CONFIG_MARKERS */
> -
> /**
>  * trace_mark - Marker using code patching
>  * @channel: marker channel (where to send the data), not quoted.
> -- 
> 1.7.2.3
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>




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

* [ltt-dev] [UST PATCH 3/3] Remove unused code
  2010-09-17 19:41 ` [ltt-dev] [UST PATCH 3/3] Remove unused code David Goulet
  2010-09-21 12:14   ` Nils Carlson
@ 2010-09-26  5:13   ` Pierre-Marc Fournier
  2010-09-26 16:37     ` David Goulet
  1 sibling, 1 reply; 12+ messages in thread
From: Pierre-Marc Fournier @ 2010-09-26  5:13 UTC (permalink / raw)


On 09/17/2010 03:41 PM, David Goulet wrote:
> Signed-off-by: David Goulet<david.goulet at polymtl.ca>
> ---
>   include/ust/marker.h |   22 ----------------------
>   1 files changed, 0 insertions(+), 22 deletions(-)
>
> diff --git a/include/ust/marker.h b/include/ust/marker.h
> index 7670648..6103629 100644
> --- a/include/ust/marker.h
> +++ b/include/ust/marker.h
> @@ -77,9 +77,6 @@ struct marker {
>   	void *location;		/* Address of marker in code */
>   } __attribute__((aligned(8)));
>
> -#define CONFIG_MARKERS
> -#ifdef CONFIG_MARKERS
> -

How about support for compiling an application while disabling its 
markers (compiling them out)?

pmf



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

* [ltt-dev] [UST PATCH 3/3] Remove unused code
  2010-09-26  5:13   ` Pierre-Marc Fournier
@ 2010-09-26 16:37     ` David Goulet
  0 siblings, 0 replies; 12+ messages in thread
From: David Goulet @ 2010-09-26 16:37 UTC (permalink / raw)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On 10-09-26 01:13 AM, Pierre-Marc Fournier wrote:
> On 09/17/2010 03:41 PM, David Goulet wrote:
>> Signed-off-by: David Goulet<david.goulet at polymtl.ca>
>> ---
>>   include/ust/marker.h |   22 ----------------------
>>   1 files changed, 0 insertions(+), 22 deletions(-)
>>
>> diff --git a/include/ust/marker.h b/include/ust/marker.h
>> index 7670648..6103629 100644
>> --- a/include/ust/marker.h
>> +++ b/include/ust/marker.h
>> @@ -77,9 +77,6 @@ struct marker {
>>       void *location;        /* Address of marker in code */
>>   } __attribute__((aligned(8)));
>>
>> -#define CONFIG_MARKERS
>> -#ifdef CONFIG_MARKERS
>> -
> 
> How about support for compiling an application while disabling its
> markers (compiling them out)?

Yep true. Since we agree on naming now, I'll resubmit a patch soon to fix the
naming of this macro, for now, and have a chance to disable markers at compile time.

Thanks
David

> 
> pmf

- -- 
David Goulet
LTTng project, DORSAL Lab.

1024D/16BD8563
BE3C 672B 9331 9796 291A  14C6 4AF7 C14B 16BD 8563
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkyfdr0ACgkQSvfBSxa9hWPj4QCfUAFwejK/ubERwVlBHmcz5nv1
+tAAoKFIS/qq2L4JklFsN95nWHxsLCAe
=PhiC
-----END PGP SIGNATURE-----




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

end of thread, other threads:[~2010-09-26 16:37 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-17 19:41 [ltt-dev] [UST PATCH 1/3] Change code for consistency David Goulet
2010-09-17 19:41 ` [ltt-dev] [UST PATCH 2/3] Syntax cleanup David Goulet
2010-09-21 12:14   ` Nils Carlson
2010-09-17 19:41 ` [ltt-dev] [UST PATCH 3/3] Remove unused code David Goulet
2010-09-21 12:14   ` Nils Carlson
2010-09-26  5:13   ` Pierre-Marc Fournier
2010-09-26 16:37     ` David Goulet
2010-09-17 20:18 ` [ltt-dev] [UST PATCH 1/3] Change code for consistency Nils Carlson
2010-09-17 21:04   ` David Goulet
2010-09-17 21:07     ` Mathieu Desnoyers
2010-09-17 21:40       ` David Goulet
2010-09-21 12:13 ` Nils Carlson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox