diff mbox

power: Print wakeup_count instead of event_count in the sysfs attribute.

Message ID 20180602023215.176521-1-ravisadineni@chromium.org (mailing list archive)
State Mainlined
Delegated to: Rafael Wysocki
Headers show

Commit Message

Ravi Chandra Sadineni June 2, 2018, 2:32 a.m. UTC
Currently we show event_count instead of wakeup_count as part of per
device wakeup_count sysfs attribute. Change it to wakeup_count to make
it more meaningful.

Signed-off-by: Ravi Chandra Sadineni <ravisadineni@chromium.org>
---
 drivers/base/power/sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Pavel Machek June 2, 2018, 7:02 p.m. UTC | #1
On Fri 2018-06-01 19:32:15, Ravi Chandra Sadineni wrote:
> Currently we show event_count instead of wakeup_count as part of per
> device wakeup_count sysfs attribute. Change it to wakeup_count to make
> it more meaningful.
> 
> Signed-off-by: Ravi Chandra Sadineni <ravisadineni@chromium.org>

Acked-by: Pavel Machek <pavel@ucw.cz>
Rafael J. Wysocki June 3, 2018, 8:05 a.m. UTC | #2
On Sat, Jun 2, 2018 at 4:32 AM, Ravi Chandra Sadineni
<ravisadineni@chromium.org> wrote:
> Currently we show event_count instead of wakeup_count as part of per
> device wakeup_count sysfs attribute. Change it to wakeup_count to make
> it more meaningful.

More information, please.

In particular, why it is more meaningful.

Thanks,
Rafael
Ravi Chandra Sadineni June 3, 2018, 5:14 p.m. UTC | #3
Hi Rafael,

On Sun, Jun 3, 2018 at 1:05 AM, Rafael J. Wysocki <rafael@kernel.org> wrote:
> On Sat, Jun 2, 2018 at 4:32 AM, Ravi Chandra Sadineni
> <ravisadineni@chromium.org> wrote:
>> Currently we show event_count instead of wakeup_count as part of per
>> device wakeup_count sysfs attribute. Change it to wakeup_count to make
>> it more meaningful.
>
> More information, please.
>
> In particular, why it is more meaningful.
Wakeup_count increments only when events_check_enabled is set. This
bool is set whenever we write current wakeup count to
/sys/power/wakeup_count from the user land. Also events_check_enabled
is cleared on every resume. My understanding is that, userland is
expected to write to this just before suspend. This way
pm_wakeup_event() when called from irqs will increment the
wakeup_count only if we are in system wide suspend resume cycle and
should give a fair approximation of how many times a device might have
caused a wake from S3/S0iX.  event_count on the other hand will
increment every time pm_wakeup_event() is called irrespective of
whether we are in a suspend/resume cycle.  For example when I try
doing something like this (https://lkml.org/lkml/2018/6/1/890), we see
the wakeup_count sysfs attribute for the particular device
incrementing every time there is a irq. If it is important to expose
event_count via sysfs attribute, should we create another attribute ?
Also we do expose each of these counters via
debugfs(/sys/kernel/debug/wake_sources).

Please correct me if I am wrong or missing something. Also if there is
a better way to do this, please let me know.
>
> Thanks,
> Rafael
Ravi Chandra Sadineni June 7, 2018, 4:47 p.m. UTC | #4
Hi Rafeal,

Soft ping. Is this patch good to be merged ?

Thanks,
Ravi


On Sun, Jun 3, 2018 at 10:14 AM, Ravi Chandra Sadineni
<ravisadineni@google.com> wrote:
> Hi Rafael,
>
> On Sun, Jun 3, 2018 at 1:05 AM, Rafael J. Wysocki <rafael@kernel.org> wrote:
>> On Sat, Jun 2, 2018 at 4:32 AM, Ravi Chandra Sadineni
>> <ravisadineni@chromium.org> wrote:
>>> Currently we show event_count instead of wakeup_count as part of per
>>> device wakeup_count sysfs attribute. Change it to wakeup_count to make
>>> it more meaningful.
>>
>> More information, please.
>>
>> In particular, why it is more meaningful.
> Wakeup_count increments only when events_check_enabled is set. This
> bool is set whenever we write current wakeup count to
> /sys/power/wakeup_count from the user land. Also events_check_enabled
> is cleared on every resume. My understanding is that, userland is
> expected to write to this just before suspend. This way
> pm_wakeup_event() when called from irqs will increment the
> wakeup_count only if we are in system wide suspend resume cycle and
> should give a fair approximation of how many times a device might have
> caused a wake from S3/S0iX.  event_count on the other hand will
> increment every time pm_wakeup_event() is called irrespective of
> whether we are in a suspend/resume cycle.  For example when I try
> doing something like this (https://lkml.org/lkml/2018/6/1/890), we see
> the wakeup_count sysfs attribute for the particular device
> incrementing every time there is a irq. If it is important to expose
> event_count via sysfs attribute, should we create another attribute ?
> Also we do expose each of these counters via
> debugfs(/sys/kernel/debug/wake_sources).
>
> Please correct me if I am wrong or missing something. Also if there is
> a better way to do this, please let me know.
>>
>> Thanks,
>> Rafael
Rafael J. Wysocki June 8, 2018, 9:16 a.m. UTC | #5
On Thursday, June 7, 2018 6:47:24 PM CEST Ravi Chandra Sadineni wrote:
> Hi Rafeal,
> 
> Soft ping. Is this patch good to be merged ?

Yes, it is.  It's there in my linux-next branch.

Thanks,
Rafael
diff mbox

Patch

diff --git a/drivers/base/power/sysfs.c b/drivers/base/power/sysfs.c
index 0f651efc58a1a..d713738ce7967 100644
--- a/drivers/base/power/sysfs.c
+++ b/drivers/base/power/sysfs.c
@@ -353,7 +353,7 @@  static ssize_t wakeup_count_show(struct device *dev,
 
 	spin_lock_irq(&dev->power.lock);
 	if (dev->power.wakeup) {
-		count = dev->power.wakeup->event_count;
+		count = dev->power.wakeup->wakeup_count;
 		enabled = true;
 	}
 	spin_unlock_irq(&dev->power.lock);