All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lina Iyer <ilina@codeaurora.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Linux PM <linux-pm@vger.kernel.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>
Subject: Re: [PATCH v3] PM / Domains: enable domain idle state accounting
Date: Fri, 16 Oct 2020 10:07:24 -0600	[thread overview]
Message-ID: <20201016160724.GB16756@codeaurora.org> (raw)
In-Reply-To: <CAJZ5v0ifjHRomAxEKTW5z+VEZLGeM5MN-NcRxUUgrFQvtB0seQ@mail.gmail.com>

On Fri, Oct 16 2020 at 09:55 -0600, Rafael J. Wysocki wrote:
>On Thu, Oct 15, 2020 at 10:47 PM Lina Iyer <ilina@codeaurora.org> wrote:
>>
>> To enable better debug of PM domains, let's keep a track of the success
>> and rejections in entering each domain idle state.
>>
>> This statistics is exported in debugfs when reading the idle_states
>> node, associated with each PM domain.
>>
>> Signed-off-by: Lina Iyer <ilina@codeaurora.org>
>> ---
>> Changes in v3:
>>         - Rebased on top of mainline
>
>I still needed to rebase it to apply it to my tree, so please double
>check the result in the bleeding-edge branch.
>
Okay, will rebase on that branch and post shortly.
Thanks Rafael.

>Thanks!
>
>> ---
>>  drivers/base/power/domain.c | 10 +++++++---
>>  include/linux/pm_domain.h   |  2 ++
>>  2 files changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
>> index 2cb5e04cf86c..20ecc1a7113c 100644
>> --- a/drivers/base/power/domain.c
>> +++ b/drivers/base/power/domain.c
>> @@ -559,12 +559,15 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
>>                  * happen very often).
>>                  */
>>                 ret = _genpd_power_off(genpd, true);
>> -               if (ret)
>> +               if (ret) {
>> +                       genpd->states[genpd->state_idx].rejected++;
>>                         return ret;
>> +               }
>>         }
>>
>>         genpd->status = GPD_STATE_POWER_OFF;
>>         genpd_update_accounting(genpd);
>> +       genpd->states[genpd->state_idx].usage++;
>>
>>         list_for_each_entry(link, &genpd->child_links, child_node) {
>>                 genpd_sd_counter_dec(link->parent);
>> @@ -2932,7 +2935,7 @@ static int idle_states_show(struct seq_file *s, void *data)
>>         if (ret)
>>                 return -ERESTARTSYS;
>>
>> -       seq_puts(s, "State          Time Spent(ms)\n");
>> +       seq_puts(s, "State          Time Spent(ms) Usage          Rejected\n");
>>
>>         for (i = 0; i < genpd->state_count; i++) {
>>                 ktime_t delta = 0;
>> @@ -2944,7 +2947,8 @@ static int idle_states_show(struct seq_file *s, void *data)
>>
>>                 msecs = ktime_to_ms(
>>                         ktime_add(genpd->states[i].idle_time, delta));
>> -               seq_printf(s, "S%-13i %lld\n", i, msecs);
>> +               seq_printf(s, "S%-13i %-14lld %-14llu %llu\n", i, msecs,
>> +                             genpd->states[i].usage, genpd->states[i].rejected);
>>         }
>>
>>         genpd_unlock(genpd);
>> diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
>> index ee11502a575b..1d9a8de6b7ac 100644
>> --- a/include/linux/pm_domain.h
>> +++ b/include/linux/pm_domain.h
>> @@ -82,6 +82,8 @@ struct genpd_power_state {
>>         s64 power_off_latency_ns;
>>         s64 power_on_latency_ns;
>>         s64 residency_ns;
>> +       u64 usage;
>> +       u64 rejected;
>>         struct fwnode_handle *fwnode;
>>         ktime_t idle_time;
>>         void *data;
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> a Linux Foundation Collaborative Project
>>

  reply	other threads:[~2020-10-16 16:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-15 20:47 [PATCH v3] PM / Domains: enable domain idle state accounting Lina Iyer
2020-10-16 15:55 ` Rafael J. Wysocki
2020-10-16 16:07   ` Lina Iyer [this message]
2020-10-16 16:13     ` Rafael J. Wysocki
2020-10-16 16:21       ` Lina Iyer
2020-10-16 16:32         ` Rafael J. Wysocki
2020-10-16 16:43           ` Lina Iyer

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=20201016160724.GB16756@codeaurora.org \
    --to=ilina@codeaurora.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=ulf.hansson@linaro.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.