linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Add PM_TRACE x86_64 support.
@ 2007-02-08  0:50 Nigel Cunningham
  2007-02-08  1:18 ` Otavio Salvador
  0 siblings, 1 reply; 8+ messages in thread
From: Nigel Cunningham @ 2007-02-08  0:50 UTC (permalink / raw)
  To: LKML; +Cc: Andrew Morton, Linus Torvalds

This patch add x86_64 support for PM_TRACE, and shifts per-arch code to
the appropriate subdirectories.

Symbol exports are added so tracing can be used from drivers built as
modules too.

Please apply.

Signed-off-by: Nigel Cunningham <nigel@nigel.suspend2.net>

 arch/x86_64/kernel/vmlinux.lds.S  |    7 +++++++
 drivers/base/power/trace.c        |    4 +++-
 include/asm-i386/resume-trace.h   |   21 +++++++++++++++++++++
 include/asm-x86_64/resume-trace.h |   21 +++++++++++++++++++++
 include/linux/resume-trace.h      |   24 ++++++------------------
 kernel/power/Kconfig              |    2 +-
 6 files changed, 59 insertions(+), 20 deletions(-)
diff -ruNp 930-PM_TRACE.patch-old/arch/x86_64/kernel/vmlinux.lds.S 930-PM_TRACE.patch-new/arch/x86_64/kernel/vmlinux.lds.S
--- 930-PM_TRACE.patch-old/arch/x86_64/kernel/vmlinux.lds.S	2007-01-19 10:47:25.000000000 +1100
+++ 930-PM_TRACE.patch-new/arch/x86_64/kernel/vmlinux.lds.S	2007-01-15 00:00:08.000000000 +1100
@@ -54,6 +54,13 @@ SECTIONS
 
   BUG_TABLE
 
+  . = ALIGN(4);
+  .tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) {
+  	__tracedata_start = .;
+	*(.tracedata)
+  	__tracedata_end = .;
+  }
+
   . = ALIGN(PAGE_SIZE);        /* Align data segment to page size boundary */
 				/* Data */
   .data : AT(ADDR(.data) - LOAD_OFFSET) {
diff -ruNp 930-PM_TRACE.patch-old/drivers/base/power/trace.c 930-PM_TRACE.patch-new/drivers/base/power/trace.c
--- 930-PM_TRACE.patch-old/drivers/base/power/trace.c	2007-01-11 18:25:02.000000000 +1100
+++ 930-PM_TRACE.patch-new/drivers/base/power/trace.c	2007-01-15 00:00:08.000000000 +1100
@@ -142,6 +142,7 @@ void set_trace_device(struct device *dev
 {
 	dev_hash_value = hash_string(DEVSEED, dev->bus_id, DEVHASH);
 }
+EXPORT_SYMBOL(set_trace_device);
 
 /*
  * We could just take the "tracedata" index into the .tracedata
@@ -162,6 +163,7 @@ void generate_resume_trace(void *traceda
 	file_hash_value = hash_string(lineno, file, FILEHASH);
 	set_magic_time(user_hash_value, file_hash_value, dev_hash_value);
 }
+EXPORT_SYMBOL(generate_resume_trace);
 
 extern char __tracedata_start, __tracedata_end;
 static int show_file_hash(unsigned int value)
@@ -170,7 +172,7 @@ static int show_file_hash(unsigned int v
 	char *tracedata;
 
 	match = 0;
-	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 6) {
+	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 2 + sizeof(unsigned long)) {
 		unsigned short lineno = *(unsigned short *)tracedata;
 		const char *file = *(const char **)(tracedata + 2);
 		unsigned int hash = hash_string(lineno, file, FILEHASH);
diff -ruNp 930-PM_TRACE.patch-old/include/asm-i386/resume-trace.h 930-PM_TRACE.patch-new/include/asm-i386/resume-trace.h
--- 930-PM_TRACE.patch-old/include/asm-i386/resume-trace.h	1970-01-01 10:00:00.000000000 +1000
+++ 930-PM_TRACE.patch-new/include/asm-i386/resume-trace.h	2007-01-15 22:00:33.000000000 +1100
@@ -0,0 +1,21 @@
+#ifndef ARCH_RESUME_TRACE_H
+#define ARCH_RESUME_TRACE_H
+
+#ifdef CONFIG_PM_TRACE
+#define TRACE_RESUME(user) do {					\
+	if (pm_trace_enabled) {					\
+		void *tracedata;				\
+		asm volatile("movl $1f,%0\n"			\
+			".section .tracedata,\"a\"\n"		\
+			"1:\t.word %c1\n"			\
+			"\t.long %c2\n"				\
+			".previous"				\
+			:"=r" (tracedata)			\
+			: "i" (__LINE__), "i" (__FILE__));	\
+		generate_resume_trace(tracedata, user);		\
+	}							\
+} while (0)
+#else
+#define TRACE_RESUME(user) do { } while (0)
+#endif
+#endif
diff -ruNp 930-PM_TRACE.patch-old/include/asm-x86_64/resume-trace.h 930-PM_TRACE.patch-new/include/asm-x86_64/resume-trace.h
--- 930-PM_TRACE.patch-old/include/asm-x86_64/resume-trace.h	1970-01-01 10:00:00.000000000 +1000
+++ 930-PM_TRACE.patch-new/include/asm-x86_64/resume-trace.h	2007-01-15 22:00:16.000000000 +1100
@@ -0,0 +1,21 @@
+#ifndef ARCH_RESUME_TRACE_H
+#define ARCH_RESUME_TRACE_H
+
+#ifdef CONFIG_PM_TRACE
+#define TRACE_RESUME(user) do {					\
+	if (pm_trace_enabled) {					\
+		void *tracedata;				\
+		asm volatile("movq $1f,%0\n"			\
+			".section .tracedata,\"a\"\n"		\
+			"1:\t.word %c1\n"			\
+			"\t.quad %c2\n"				\
+			".previous"				\
+			:"=r" (tracedata)			\
+			: "i" (__LINE__), "i" (__FILE__));	\
+		generate_resume_trace(tracedata, user);		\
+	}							\
+} while (0)
+#else
+#define TRACE_RESUME(user) do { } while (0)
+#endif
+#endif
diff -ruNp 930-PM_TRACE.patch-old/include/linux/resume-trace.h 930-PM_TRACE.patch-new/include/linux/resume-trace.h
--- 930-PM_TRACE.patch-old/include/linux/resume-trace.h	2007-01-11 18:25:16.000000000 +1100
+++ 930-PM_TRACE.patch-new/include/linux/resume-trace.h	2007-01-17 21:06:14.000000000 +1100
@@ -1,6 +1,8 @@
 #ifndef RESUME_TRACE_H
 #define RESUME_TRACE_H
 
+#include <asm/resume-trace.h>
+
 #ifdef CONFIG_PM_TRACE
 
 extern int pm_trace_enabled;
@@ -9,26 +11,12 @@ struct device;
 extern void set_trace_device(struct device *);
 extern void generate_resume_trace(void *tracedata, unsigned int user);
 
-#define TRACE_DEVICE(dev) set_trace_device(dev)
-#define TRACE_RESUME(user) do {					\
-	if (pm_trace_enabled) {					\
-		void *tracedata;				\
-		asm volatile("movl $1f,%0\n"			\
-			".section .tracedata,\"a\"\n"		\
-			"1:\t.word %c1\n"			\
-			"\t.long %c2\n"				\
-			".previous"				\
-			:"=r" (tracedata)			\
-			: "i" (__LINE__), "i" (__FILE__));	\
-		generate_resume_trace(tracedata, user);		\
-	}							\
-} while (0)
-
+#define TRACE_DEVICE(dev) do { \
+	if (pm_trace_enabled) \
+		set_trace_device(dev); \
+	} while(0)
 #else
-
 #define TRACE_DEVICE(dev) do { } while (0)
-#define TRACE_RESUME(dev) do { } while (0)
-
 #endif
 
 #endif
diff -ruNp 930-PM_TRACE.patch-old/kernel/power/Kconfig 930-PM_TRACE.patch-new/kernel/power/Kconfig
--- 930-PM_TRACE.patch-old/kernel/power/Kconfig	2007-01-19 10:47:26.000000000 +1100
+++ 930-PM_TRACE.patch-new/kernel/power/Kconfig	2007-01-19 10:43:53.000000000 +1100
@@ -50,7 +50,7 @@ config DISABLE_CONSOLE_SUSPEND
 
 config PM_TRACE
 	bool "Suspend/resume event tracing"
-	depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL
+	depends on PM && PM_DEBUG && X86 && EXPERIMENTAL
 	default n
 	---help---
 	This enables some cheesy code to save the last PM event point in the



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

* Re: [PATCH] Add PM_TRACE x86_64 support.
  2007-02-08  0:50 [PATCH] Add PM_TRACE x86_64 support Nigel Cunningham
@ 2007-02-08  1:18 ` Otavio Salvador
  2007-02-08  2:08   ` Nigel Cunningham
  0 siblings, 1 reply; 8+ messages in thread
From: Otavio Salvador @ 2007-02-08  1:18 UTC (permalink / raw)
  To: nigel; +Cc: LKML

Nigel Cunningham <nigel@nigel.suspend2.net> writes:

> -	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 6) {
> +	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 2 + sizeof(unsigned long)) {

Could you split this line?

-- 
        O T A V I O    S A L V A D O R
---------------------------------------------
 E-mail: otavio@debian.org      UIN: 5906116
 GNU/Linux User: 239058     GPG ID: 49A5F855
 Home Page: http://otavio.ossystems.com.br
---------------------------------------------
"Microsoft sells you Windows ... Linux gives
 you the whole house."

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

* Re: [PATCH] Add PM_TRACE x86_64 support.
  2007-02-08  1:18 ` Otavio Salvador
@ 2007-02-08  2:08   ` Nigel Cunningham
  2007-02-08 12:40     ` Jens Axboe
  2007-02-15 12:01     ` Andrew Morton
  0 siblings, 2 replies; 8+ messages in thread
From: Nigel Cunningham @ 2007-02-08  2:08 UTC (permalink / raw)
  To: Otavio Salvador; +Cc: LKML

On Wed, 2007-02-07 at 23:18 -0200, Otavio Salvador wrote:
> Nigel Cunningham <nigel@nigel.suspend2.net> writes:
> 
> > -	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 6) {
> > +	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 2 + sizeof(unsigned long)) {
> 
> Could you split this line?

Sure.

-- New version -- (What's the right way to do this?)

This patch add x86_64 support for PM_TRACE, and shifts per-arch code to
the appropriate subdirectories.

Symbol exports are added so tracing can be used from drivers built as
modules too.

Please apply.

Signed-off-by: Nigel Cunningham <nigel@nigel.suspend2.net>

 arch/x86_64/kernel/vmlinux.lds.S  |    7 +++++++
 drivers/base/power/trace.c        |    5 ++++-
 include/asm-i386/resume-trace.h   |   21 +++++++++++++++++++++
 include/asm-x86_64/resume-trace.h |   21 +++++++++++++++++++++
 include/linux/resume-trace.h      |   24 ++++++------------------
 kernel/power/Kconfig              |    2 +-
 6 files changed, 60 insertions(+), 20 deletions(-)
diff -ruNp 160-PM_TRACE.patch-old/arch/x86_64/kernel/vmlinux.lds.S 160-PM_TRACE.patch-new/arch/x86_64/kernel/vmlinux.lds.S
--- 160-PM_TRACE.patch-old/arch/x86_64/kernel/vmlinux.lds.S	2007-02-08 13:05:09.000000000 +1100
+++ 160-PM_TRACE.patch-new/arch/x86_64/kernel/vmlinux.lds.S	2007-02-07 23:32:23.000000000 +1100
@@ -54,6 +54,13 @@ SECTIONS
 
   BUG_TABLE
 
+  . = ALIGN(4);
+  .tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) {
+  	__tracedata_start = .;
+	*(.tracedata)
+  	__tracedata_end = .;
+  }
+
   . = ALIGN(PAGE_SIZE);        /* Align data segment to page size boundary */
 				/* Data */
   .data : AT(ADDR(.data) - LOAD_OFFSET) {
diff -ruNp 160-PM_TRACE.patch-old/drivers/base/power/trace.c 160-PM_TRACE.patch-new/drivers/base/power/trace.c
--- 160-PM_TRACE.patch-old/drivers/base/power/trace.c	2007-02-06 14:48:31.000000000 +1100
+++ 160-PM_TRACE.patch-new/drivers/base/power/trace.c	2007-02-08 13:04:51.000000000 +1100
@@ -142,6 +142,7 @@ void set_trace_device(struct device *dev
 {
 	dev_hash_value = hash_string(DEVSEED, dev->bus_id, DEVHASH);
 }
+EXPORT_SYMBOL(set_trace_device);
 
 /*
  * We could just take the "tracedata" index into the .tracedata
@@ -162,6 +163,7 @@ void generate_resume_trace(void *traceda
 	file_hash_value = hash_string(lineno, file, FILEHASH);
 	set_magic_time(user_hash_value, file_hash_value, dev_hash_value);
 }
+EXPORT_SYMBOL(generate_resume_trace);
 
 extern char __tracedata_start, __tracedata_end;
 static int show_file_hash(unsigned int value)
@@ -170,7 +172,8 @@ static int show_file_hash(unsigned int v
 	char *tracedata;
 
 	match = 0;
-	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 6) {
+	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ;
+			tracedata += 2 + sizeof(unsigned long)) {
 		unsigned short lineno = *(unsigned short *)tracedata;
 		const char *file = *(const char **)(tracedata + 2);
 		unsigned int hash = hash_string(lineno, file, FILEHASH);
diff -ruNp 160-PM_TRACE.patch-old/include/asm-i386/resume-trace.h 160-PM_TRACE.patch-new/include/asm-i386/resume-trace.h
--- 160-PM_TRACE.patch-old/include/asm-i386/resume-trace.h	1970-01-01 10:00:00.000000000 +1000
+++ 160-PM_TRACE.patch-new/include/asm-i386/resume-trace.h	2007-02-07 23:32:23.000000000 +1100
@@ -0,0 +1,21 @@
+#ifndef ARCH_RESUME_TRACE_H
+#define ARCH_RESUME_TRACE_H
+
+#ifdef CONFIG_PM_TRACE
+#define TRACE_RESUME(user) do {					\
+	if (pm_trace_enabled) {					\
+		void *tracedata;				\
+		asm volatile("movl $1f,%0\n"			\
+			".section .tracedata,\"a\"\n"		\
+			"1:\t.word %c1\n"			\
+			"\t.long %c2\n"				\
+			".previous"				\
+			:"=r" (tracedata)			\
+			: "i" (__LINE__), "i" (__FILE__));	\
+		generate_resume_trace(tracedata, user);		\
+	}							\
+} while (0)
+#else
+#define TRACE_RESUME(user) do { } while (0)
+#endif
+#endif
diff -ruNp 160-PM_TRACE.patch-old/include/asm-x86_64/resume-trace.h 160-PM_TRACE.patch-new/include/asm-x86_64/resume-trace.h
--- 160-PM_TRACE.patch-old/include/asm-x86_64/resume-trace.h	1970-01-01 10:00:00.000000000 +1000
+++ 160-PM_TRACE.patch-new/include/asm-x86_64/resume-trace.h	2007-02-07 23:32:23.000000000 +1100
@@ -0,0 +1,21 @@
+#ifndef ARCH_RESUME_TRACE_H
+#define ARCH_RESUME_TRACE_H
+
+#ifdef CONFIG_PM_TRACE
+#define TRACE_RESUME(user) do {					\
+	if (pm_trace_enabled) {					\
+		void *tracedata;				\
+		asm volatile("movq $1f,%0\n"			\
+			".section .tracedata,\"a\"\n"		\
+			"1:\t.word %c1\n"			\
+			"\t.quad %c2\n"				\
+			".previous"				\
+			:"=r" (tracedata)			\
+			: "i" (__LINE__), "i" (__FILE__));	\
+		generate_resume_trace(tracedata, user);		\
+	}							\
+} while (0)
+#else
+#define TRACE_RESUME(user) do { } while (0)
+#endif
+#endif
diff -ruNp 160-PM_TRACE.patch-old/include/linux/resume-trace.h 160-PM_TRACE.patch-new/include/linux/resume-trace.h
--- 160-PM_TRACE.patch-old/include/linux/resume-trace.h	2007-02-06 14:48:57.000000000 +1100
+++ 160-PM_TRACE.patch-new/include/linux/resume-trace.h	2007-02-07 23:32:23.000000000 +1100
@@ -1,6 +1,8 @@
 #ifndef RESUME_TRACE_H
 #define RESUME_TRACE_H
 
+#include <asm/resume-trace.h>
+
 #ifdef CONFIG_PM_TRACE
 
 extern int pm_trace_enabled;
@@ -9,26 +11,12 @@ struct device;
 extern void set_trace_device(struct device *);
 extern void generate_resume_trace(void *tracedata, unsigned int user);
 
-#define TRACE_DEVICE(dev) set_trace_device(dev)
-#define TRACE_RESUME(user) do {					\
-	if (pm_trace_enabled) {					\
-		void *tracedata;				\
-		asm volatile("movl $1f,%0\n"			\
-			".section .tracedata,\"a\"\n"		\
-			"1:\t.word %c1\n"			\
-			"\t.long %c2\n"				\
-			".previous"				\
-			:"=r" (tracedata)			\
-			: "i" (__LINE__), "i" (__FILE__));	\
-		generate_resume_trace(tracedata, user);		\
-	}							\
-} while (0)
-
+#define TRACE_DEVICE(dev) do { \
+	if (pm_trace_enabled) \
+		set_trace_device(dev); \
+	} while(0)
 #else
-
 #define TRACE_DEVICE(dev) do { } while (0)
-#define TRACE_RESUME(dev) do { } while (0)
-
 #endif
 
 #endif
diff -ruNp 160-PM_TRACE.patch-old/kernel/power/Kconfig 160-PM_TRACE.patch-new/kernel/power/Kconfig
--- 160-PM_TRACE.patch-old/kernel/power/Kconfig	2007-02-06 14:48:57.000000000 +1100
+++ 160-PM_TRACE.patch-new/kernel/power/Kconfig	2007-02-08 13:05:42.000000000 +1100
@@ -50,7 +50,7 @@ config DISABLE_CONSOLE_SUSPEND
 
 config PM_TRACE
 	bool "Suspend/resume event tracing"
-	depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL
+	depends on PM && PM_DEBUG && X86 && EXPERIMENTAL
 	default n
 	---help---
 	This enables some cheesy code to save the last PM event point in the



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

* Re: [PATCH] Add PM_TRACE x86_64 support.
  2007-02-08  2:08   ` Nigel Cunningham
@ 2007-02-08 12:40     ` Jens Axboe
  2007-02-09 22:52       ` Pavel Machek
  2007-02-15 12:01     ` Andrew Morton
  1 sibling, 1 reply; 8+ messages in thread
From: Jens Axboe @ 2007-02-08 12:40 UTC (permalink / raw)
  To: Nigel Cunningham; +Cc: Otavio Salvador, LKML

On Thu, Feb 08 2007, Nigel Cunningham wrote:
> On Wed, 2007-02-07 at 23:18 -0200, Otavio Salvador wrote:
> > Nigel Cunningham <nigel@nigel.suspend2.net> writes:
> > 
> > > -	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 6) {
> > > +	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 2 + sizeof(unsigned long)) {
> > 
> > Could you split this line?
> 
> Sure.
> 
> -- New version -- (What's the right way to do this?)
> 
> This patch add x86_64 support for PM_TRACE, and shifts per-arch code to
> the appropriate subdirectories.
> 
> Symbol exports are added so tracing can be used from drivers built as
> modules too.

Don't include exports in a patch that doesn't use them. Introduce the
exports in a later patch series, for when you actually need it.

-- 
Jens Axboe


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

* Re: [PATCH] Add PM_TRACE x86_64 support.
  2007-02-08 12:40     ` Jens Axboe
@ 2007-02-09 22:52       ` Pavel Machek
  2007-02-10  8:42         ` Jens Axboe
  0 siblings, 1 reply; 8+ messages in thread
From: Pavel Machek @ 2007-02-09 22:52 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Nigel Cunningham, Otavio Salvador, LKML

Hi!

> > > Nigel Cunningham <nigel@nigel.suspend2.net> writes:
> > > 
> > > > -	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 6) {
> > > > +	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 2 + sizeof(unsigned long)) {
> > > 
> > > Could you split this line?
> > 
> > Sure.
> > 
> > -- New version -- (What's the right way to do this?)
> > 
> > This patch add x86_64 support for PM_TRACE, and shifts per-arch code to
> > the appropriate subdirectories.
> > 
> > Symbol exports are added so tracing can be used from drivers built as
> > modules too.
> 
> Don't include exports in a patch that doesn't use them. Introduce the
> exports in a later patch series, for when you actually need it.

It is debugging infrastructure, so export actually makes sense... It
will not ever be used in mainline kernel; you need to modify code
manually to use this code..

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

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

* Re: [PATCH] Add PM_TRACE x86_64 support.
  2007-02-09 22:52       ` Pavel Machek
@ 2007-02-10  8:42         ` Jens Axboe
  2007-02-13 21:35           ` Pavel Machek
  0 siblings, 1 reply; 8+ messages in thread
From: Jens Axboe @ 2007-02-10  8:42 UTC (permalink / raw)
  To: Pavel Machek; +Cc: Nigel Cunningham, Otavio Salvador, LKML

On Fri, Feb 09 2007, Pavel Machek wrote:
> Hi!
> 
> > > > Nigel Cunningham <nigel@nigel.suspend2.net> writes:
> > > > 
> > > > > -	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 6) {
> > > > > +	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 2 + sizeof(unsigned long)) {
> > > > 
> > > > Could you split this line?
> > > 
> > > Sure.
> > > 
> > > -- New version -- (What's the right way to do this?)
> > > 
> > > This patch add x86_64 support for PM_TRACE, and shifts per-arch code to
> > > the appropriate subdirectories.
> > > 
> > > Symbol exports are added so tracing can be used from drivers built as
> > > modules too.
> > 
> > Don't include exports in a patch that doesn't use them. Introduce the
> > exports in a later patch series, for when you actually need it.
> 
> It is debugging infrastructure, so export actually makes sense... It
> will not ever be used in mainline kernel; you need to modify code
> manually to use this code..

Then add the exports while you are modifying the other code, it's no
reason to put it in mainline.

-- 
Jens Axboe


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

* Re: [PATCH] Add PM_TRACE x86_64 support.
  2007-02-10  8:42         ` Jens Axboe
@ 2007-02-13 21:35           ` Pavel Machek
  0 siblings, 0 replies; 8+ messages in thread
From: Pavel Machek @ 2007-02-13 21:35 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Nigel Cunningham, Otavio Salvador, LKML

On Sat 2007-02-10 09:42:17, Jens Axboe wrote:
> On Fri, Feb 09 2007, Pavel Machek wrote:
> > Hi!
> > 
> > > > > Nigel Cunningham <nigel@nigel.suspend2.net> writes:
> > > > > 
> > > > > > -	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 6) {
> > > > > > +	for (tracedata = &__tracedata_start ; tracedata < &__tracedata_end ; tracedata += 2 + sizeof(unsigned long)) {
> > > > > 
> > > > > Could you split this line?
> > > > 
> > > > Sure.
> > > > 
> > > > -- New version -- (What's the right way to do this?)
> > > > 
> > > > This patch add x86_64 support for PM_TRACE, and shifts per-arch code to
> > > > the appropriate subdirectories.
> > > > 
> > > > Symbol exports are added so tracing can be used from drivers built as
> > > > modules too.
> > > 
> > > Don't include exports in a patch that doesn't use them. Introduce the
> > > exports in a later patch series, for when you actually need it.
> > 
> > It is debugging infrastructure, so export actually makes sense... It
> > will not ever be used in mainline kernel; you need to modify code
> > manually to use this code..
> 
> Then add the exports while you are modifying the other code, it's no
> reason to put it in mainline.

Same could be said for the rest of the code, too... but Linus added it
to the mainline.

(Actually it has one example user somewhere, iirc)

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

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

* Re: [PATCH] Add PM_TRACE x86_64 support.
  2007-02-08  2:08   ` Nigel Cunningham
  2007-02-08 12:40     ` Jens Axboe
@ 2007-02-15 12:01     ` Andrew Morton
  1 sibling, 0 replies; 8+ messages in thread
From: Andrew Morton @ 2007-02-15 12:01 UTC (permalink / raw)
  To: nigel; +Cc: Otavio Salvador, LKML

On Thu, 08 Feb 2007 13:08:06 +1100 Nigel Cunningham <nigel@nigel.suspend2.net> wrote:

> This patch add x86_64 support for PM_TRACE, and shifts per-arch code to
> the appropriate subdirectories.

ia64 allmodconfig:

include/linux/resume-trace.h:4:30: asm/resume-trace.h: No such file or directory
drivers/base/power/resume.c: In function `resume_device':
drivers/base/power/resume.c:28: warning: implicit declaration of function `TRACE_RESUME'

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

end of thread, other threads:[~2007-02-15 12:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-08  0:50 [PATCH] Add PM_TRACE x86_64 support Nigel Cunningham
2007-02-08  1:18 ` Otavio Salvador
2007-02-08  2:08   ` Nigel Cunningham
2007-02-08 12:40     ` Jens Axboe
2007-02-09 22:52       ` Pavel Machek
2007-02-10  8:42         ` Jens Axboe
2007-02-13 21:35           ` Pavel Machek
2007-02-15 12:01     ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).