Re: [PATCH] power: Print wakeup_count instead of event_count in the sysfs attribute.

From: Ravi Chandra Sadineni
Date: Sun Jun 03 2018 - 13:14:40 EST


Hi Rafael,

On Sun, Jun 3, 2018 at 1:05 AM, Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
> On Sat, Jun 2, 2018 at 4:32 AM, Ravi Chandra Sadineni
> <ravisadineni@xxxxxxxxxxxx> 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