From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Arjan van de Ven <arjan@infradead.org>
Cc: linux-pm@lists.linux-foundation.org,
linux-kernel@vger.kernel.org,
Alan Stern <stern@rowland.harvard.edu>,
Ming Lei <tom.leiming@gmail.com>
Subject: Re: [PATCH v2] pm: Add runtime PM statistics
Date: Sun, 11 Jul 2010 23:26:07 +0200 [thread overview]
Message-ID: <201007112326.07541.rjw@sisk.pl> (raw)
In-Reply-To: <20100710095254.5ab7291c@infradead.org>
On Saturday, July 10, 2010, Arjan van de Ven wrote:
> From: Arjan van de Ven <arjan@linux.intel.com>
> Subject: [PATCH v2] pm: Add runtime PM statistics
>
> In order for PowerTOP to be able to report how well the new runtime PM is working
> for the various drivers, the kernel needs to export some basic statistics in sysfs.
>
> This patch adds two sysfs files in the runtime PM domain that expose the
> total time a device has been active, and the time a device has been suspended.
>
> With this PowerTOP can compute the activity percentage
>
> Active %age = 100 * (delta active) / (delta active + delta suspended)
>
> and present the information to the user.
>
> I've written the PowerTOP code (slated for version 1.12) already, and the output looks
> like this:
>
> Runtime Device Power Management statistics
> Active Device name
> 10.0% 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller
>
>
>
> [version 2: fix stat update bugs noticed by Alan Stern]
>
> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
>
> diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
> index b0ec0e9..b78c401 100644
> --- a/drivers/base/power/runtime.c
> +++ b/drivers/base/power/runtime.c
...
>
> +static ssize_t rtpm_active_time_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> +{
> + int ret;
> + spin_lock_irq(&dev->power.lock);
> + update_pm_runtime_accounting(dev);
> + ret = sprintf(buf, "%i\n", jiffies_to_msecs(dev->power.active_jiffies));
> + spin_unlock_irq(&dev->power.lock);
> + return ret;
> +}
> +
> +static ssize_t rtpm_suspended_time_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> +{
> + int ret;
> + spin_lock_irq(&dev->power.lock);
> + update_pm_runtime_accounting(dev);
> + ret = sprintf(buf, "%i\n",
> + jiffies_to_msecs(dev->power.suspended_jiffies));
> + spin_unlock_irq(&dev->power.lock);
> + return ret;
> +}
> +
> static DEVICE_ATTR(runtime_usage, 0444, rtpm_usagecount_show, NULL);
> static DEVICE_ATTR(runtime_active_kids, 0444, rtpm_children_show, NULL);
> static DEVICE_ATTR(runtime_status, 0444, rtpm_status_show, NULL);
> +static DEVICE_ATTR(runtime_active_time, 0444, rtpm_active_time_show, NULL);
> +static DEVICE_ATTR(runtime_suspended_time, 0444, rtpm_suspended_time_show, NULL);
> static DEVICE_ATTR(runtime_enabled, 0444, rtpm_enabled_show, NULL);
On a second thought, "active_time" and "suspended_time" should be sufficient
(ie. the "runtime_" prefix is not really necessary).
Rafael
next prev parent reply other threads:[~2010-07-11 21:28 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-10 16:52 [PATCH v2] pm: Add runtime PM statistics Arjan van de Ven
2010-07-11 21:26 ` Rafael J. Wysocki
2010-07-11 21:26 ` Rafael J. Wysocki [this message]
2010-07-12 5:16 ` Arjan van de Ven
2010-07-12 5:16 ` Arjan van de Ven
2010-07-13 21:28 ` Rafael J. Wysocki
2010-07-13 21:28 ` Rafael J. Wysocki
2010-07-15 15:44 ` Arjan van de Ven
2010-07-15 15:44 ` Arjan van de Ven
2010-08-05 23:20 ` Kevin Hilman
2010-08-05 23:45 ` Rafael J. Wysocki
2010-08-05 23:45 ` Rafael J. Wysocki
2010-08-05 23:59 ` Arjan van de Ven
2010-08-05 23:59 ` Arjan van de Ven
2010-08-06 23:37 ` Kevin Hilman
2010-08-06 23:37 ` Kevin Hilman
2010-08-05 23:20 ` Kevin Hilman
-- strict thread matches above, loose matches on Subject: below --
2010-07-10 16:52 Arjan van de Ven
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=201007112326.07541.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=arjan@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=stern@rowland.harvard.edu \
--cc=tom.leiming@gmail.com \
/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.