All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Limonciello <mario.limonciello@amd.com>
To: Rafael Wysocki <rafael@kernel.org>, <hdegoede@redhat.com>,
	<linus.walleij@linaro.org>
Cc: <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-gpio@vger.kernel.org>,
	<platform-driver-x86@vger.kernel.org>, <linux-pm@vger.kernel.org>,
	S-k Shyam-sundar <Shyam-sundar.S-k@amd.com>,
	Natikar Basavaraj <Basavaraj.Natikar@amd.com>,
	Mario Limonciello <mario.limonciello@amd.com>
Subject: [PATCH v3 1/4] include/linux/suspend.h: Only show pm_pr_dbg messages at suspend/resume
Date: Thu, 1 Jun 2023 18:29:20 -0500	[thread overview]
Message-ID: <20230601232923.1248-1-mario.limonciello@amd.com> (raw)

All uses in the kernel are currently already oriented around
suspend/resume. As some other parts of the kernel may also use these
messages in functions that could also be used outside of
suspend/resume, only enable in suspend/resume path.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v1->v2:
 * Remove pointless do/while
 * Add a function pm_debug_messages_should_print
 * Export pm_debug_messages_should_print so modules can use it too.
---
 include/linux/suspend.h | 20 +++++++++-----------
 kernel/power/main.c     |  6 ++++++
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/include/linux/suspend.h b/include/linux/suspend.h
index 1a0426e6761c..9a3cc0b89208 100644
--- a/include/linux/suspend.h
+++ b/include/linux/suspend.h
@@ -555,6 +555,7 @@ static inline void unlock_system_sleep(unsigned int flags) {}
 #ifdef CONFIG_PM_SLEEP_DEBUG
 extern bool pm_print_times_enabled;
 extern bool pm_debug_messages_on;
+extern bool pm_debug_messages_should_print(void);
 static inline int pm_dyn_debug_messages_on(void)
 {
 #ifdef CONFIG_DYNAMIC_DEBUG
@@ -567,17 +568,13 @@ static inline int pm_dyn_debug_messages_on(void)
 #define pr_fmt(fmt) "PM: " fmt
 #endif
 #define __pm_pr_dbg(fmt, ...)					\
-	do {							\
-		if (pm_debug_messages_on)			\
-			printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__);	\
-		else if (pm_dyn_debug_messages_on())		\
-			pr_debug(fmt, ##__VA_ARGS__);	\
-	} while (0)
+	if (pm_debug_messages_should_print())			\
+		printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__);	\
+	else if (pm_dyn_debug_messages_on())			\
+		pr_debug(fmt, ##__VA_ARGS__);
 #define __pm_deferred_pr_dbg(fmt, ...)				\
-	do {							\
-		if (pm_debug_messages_on)			\
-			printk_deferred(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__);	\
-	} while (0)
+	if (pm_debug_messages_should_print())			\
+		printk_deferred(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__);
 #else
 #define pm_print_times_enabled	(false)
 #define pm_debug_messages_on	(false)
@@ -593,7 +590,8 @@ static inline int pm_dyn_debug_messages_on(void)
 /**
  * pm_pr_dbg - print pm sleep debug messages
  *
- * If pm_debug_messages_on is enabled, print message.
+ * If pm_debug_messages_on is enabled and the system is entering/leaving
+ *      suspend, print message.
  * If pm_debug_messages_on is disabled and CONFIG_DYNAMIC_DEBUG is enabled,
  *	print message only from instances explicitly enabled on dynamic debug's
  *	control.
diff --git a/kernel/power/main.c b/kernel/power/main.c
index 3113ec2f1db4..daa535012e51 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -556,6 +556,12 @@ power_attr_ro(pm_wakeup_irq);
 
 bool pm_debug_messages_on __read_mostly;
 
+bool pm_debug_messages_should_print(void)
+{
+	return pm_debug_messages_on && pm_suspend_target_state != PM_SUSPEND_ON;
+}
+EXPORT_SYMBOL_GPL(pm_debug_messages_should_print);
+
 static ssize_t pm_debug_messages_show(struct kobject *kobj,
 				      struct kobj_attribute *attr, char *buf)
 {

base-commit: 7736c431466abb54a2679dc257f739fddfa84295
-- 
2.34.1


             reply	other threads:[~2023-06-01 23:29 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-01 23:29 Mario Limonciello [this message]
2023-06-01 23:29 ` [PATCH v3 2/4] ACPI: x86: Add pm_debug_messages for LPS0 _DSM state tracking Mario Limonciello
2023-06-01 23:29 ` [PATCH v3 3/4] pinctrl: amd: Use pm_pr_dbg to show debugging messages Mario Limonciello
2023-06-02  3:19   ` kernel test robot
2023-06-01 23:29 ` [PATCH v3 4/4] platform/x86/amd: pmc: Use pm_pr_dbg() for suspend related messages Mario Limonciello
2023-06-02  1:59 ` [PATCH v3 1/4] include/linux/suspend.h: Only show pm_pr_dbg messages at suspend/resume andy.shevchenko
2023-06-02  6:09 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230601232923.1248-1-mario.limonciello@amd.com \
    --to=mario.limonciello@amd.com \
    --cc=Basavaraj.Natikar@amd.com \
    --cc=Shyam-sundar.S-k@amd.com \
    --cc=hdegoede@redhat.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rafael@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.