* [PATCH] pm: make PM_TRACE more architecture independent
@ 2007-11-08 11:56 Johannes Berg
2007-11-08 15:36 ` Rafael J. Wysocki
0 siblings, 1 reply; 2+ messages in thread
From: Johannes Berg @ 2007-11-08 11:56 UTC (permalink / raw)
To: Len Brown; +Cc: linux-pm, Linus Torvalds
When trying to debug a suspend failure I started implementing
PM_TRACE for powerpc. I then noticed that I'm debugging a suspend
failure and so PM_TRACE isn't useful at all, but thought that
nonetheless this could be useful in the future.
Basically, to support PM_TRACE, you add a Kconfig option that
selects PM_TRACE and provides the infrastructure as per the
help text of PM_TRACE.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-pm@lists.linux-foundation.org
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
---
I don't really care much. I can let this patch collect dust until I
actually want to implement PM_TRACE for powerpc or another architecture
but since I had it I wanted to send it out too.
drivers/base/power/Makefile | 2 +-
kernel/power/Kconfig | 23 ++++++++++++++++++++++-
2 files changed, 23 insertions(+), 2 deletions(-)
--- everything.orig/drivers/base/power/Makefile 2007-11-08 12:07:09.843121635 +0100
+++ everything/drivers/base/power/Makefile 2007-11-08 12:19:23.593081000 +0100
@@ -1,6 +1,6 @@
obj-y := shutdown.o
obj-$(CONFIG_PM_SLEEP) += main.o sysfs.o
-obj-$(CONFIG_PM_TRACE) += trace.o
+obj-$(CONFIG_PM_TRACE_RTC) += trace.o
ifeq ($(CONFIG_DEBUG_DRIVER),y)
EXTRA_CFLAGS += -DDEBUG
--- everything.orig/kernel/power/Kconfig 2007-11-08 12:04:51.443081271 +0100
+++ everything/kernel/power/Kconfig 2007-11-08 12:12:53.863072157 +0100
@@ -44,9 +44,30 @@ config PM_VERBOSE
---help---
This option enables verbose messages from the Power Management code.
+config CAN_PM_TRACE
+ def_bool y
+ depends on PM_DEBUG && PM_SLEEP && EXPERIMENTAL
+
config PM_TRACE
+ bool
+ help
+ This enables code to save the last PM event point across
+ reboot. The architecture needs to support this, x86 for
+ example does by saving things in the RTC, see below.
+
+ The architecture specific code must provide the extern
+ functions from <linux/resume-trace.h> as well as the
+ <asm/resume-trace.h> header with a TRACE_RESUME() macro.
+
+ The way the information is presented is architecture-
+ dependent, x86 will print the information during a
+ late_initcall.
+
+config PM_TRACE_RTC
bool "Suspend/resume event tracing"
- depends on PM_DEBUG && X86 && PM_SLEEP && EXPERIMENTAL
+ depends on CAN_PM_TRACE
+ depends on X86
+ select PM_TRACE
default n
---help---
This enables some cheesy code to save the last PM event point in the
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] pm: make PM_TRACE more architecture independent
2007-11-08 11:56 [PATCH] pm: make PM_TRACE more architecture independent Johannes Berg
@ 2007-11-08 15:36 ` Rafael J. Wysocki
0 siblings, 0 replies; 2+ messages in thread
From: Rafael J. Wysocki @ 2007-11-08 15:36 UTC (permalink / raw)
To: Johannes Berg; +Cc: Len Brown, linux-pm, Linus Torvalds
On Thursday, 8 of November 2007, Johannes Berg wrote:
> When trying to debug a suspend failure I started implementing
> PM_TRACE for powerpc. I then noticed that I'm debugging a suspend
> failure and so PM_TRACE isn't useful at all, but thought that
> nonetheless this could be useful in the future.
>
> Basically, to support PM_TRACE, you add a Kconfig option that
> selects PM_TRACE and provides the infrastructure as per the
> help text of PM_TRACE.
>
> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
> Cc: linux-pm@lists.linux-foundation.org
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> ---
> I don't really care much. I can let this patch collect dust until I
> actually want to implement PM_TRACE for powerpc or another architecture
> but since I had it I wanted to send it out too.
>
> drivers/base/power/Makefile | 2 +-
> kernel/power/Kconfig | 23 ++++++++++++++++++++++-
> 2 files changed, 23 insertions(+), 2 deletions(-)
>
> --- everything.orig/drivers/base/power/Makefile 2007-11-08 12:07:09.843121635 +0100
> +++ everything/drivers/base/power/Makefile 2007-11-08 12:19:23.593081000 +0100
> @@ -1,6 +1,6 @@
> obj-y := shutdown.o
> obj-$(CONFIG_PM_SLEEP) += main.o sysfs.o
> -obj-$(CONFIG_PM_TRACE) += trace.o
> +obj-$(CONFIG_PM_TRACE_RTC) += trace.o
>
> ifeq ($(CONFIG_DEBUG_DRIVER),y)
> EXTRA_CFLAGS += -DDEBUG
> --- everything.orig/kernel/power/Kconfig 2007-11-08 12:04:51.443081271 +0100
> +++ everything/kernel/power/Kconfig 2007-11-08 12:12:53.863072157 +0100
> @@ -44,9 +44,30 @@ config PM_VERBOSE
> ---help---
> This option enables verbose messages from the Power Management code.
>
> +config CAN_PM_TRACE
> + def_bool y
> + depends on PM_DEBUG && PM_SLEEP && EXPERIMENTAL
> +
> config PM_TRACE
> + bool
> + help
> + This enables code to save the last PM event point across
> + reboot. The architecture needs to support this, x86 for
> + example does by saving things in the RTC, see below.
> +
> + The architecture specific code must provide the extern
> + functions from <linux/resume-trace.h> as well as the
> + <asm/resume-trace.h> header with a TRACE_RESUME() macro.
> +
> + The way the information is presented is architecture-
> + dependent, x86 will print the information during a
> + late_initcall.
> +
> +config PM_TRACE_RTC
> bool "Suspend/resume event tracing"
> - depends on PM_DEBUG && X86 && PM_SLEEP && EXPERIMENTAL
> + depends on CAN_PM_TRACE
> + depends on X86
> + select PM_TRACE
> default n
> ---help---
> This enables some cheesy code to save the last PM event point in the
>
>
>
>
--
"Premature optimization is the root of all evil." - Donald Knuth
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-11-08 15:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-08 11:56 [PATCH] pm: make PM_TRACE more architecture independent Johannes Berg
2007-11-08 15:36 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox