From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: jean.pihet@newoldbits.com
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
Kevin Hilman <khilman@ti.com>,
markgross@thegnar.org,
Linux PM mailing list <linux-pm@lists.linux-foundation.org>,
linux-omap@vger.kernel.org, Paul Walmsley <paul@pwsan.com>,
Magnus Damm <magnus.damm@gmail.com>,
Todd Poynor <toddpoynor@google.com>, Jean Pihet <j-pihet@ti.com>
Subject: Re: [PATCH v6 0/7] PM QoS: add a per-device latency constraints framework
Date: Thu, 18 Aug 2011 09:59:00 +0200 [thread overview]
Message-ID: <201108180959.00827.rjw@sisk.pl> (raw)
In-Reply-To: <1313609965-6568-1-git-send-email-j-pihet@ti.com>
Hi,
On Wednesday, August 17, 2011, jean.pihet@newoldbits.com wrote:
> From: Jean Pihet <j-pihet@ti.com>
>
> High level implementation:
>
> 1. Preparation of the PM QoS for the addition of a device PM QoS constraints
> framework:
> . rename and move of the PM QoS implementation files to kernel/power/qos.c
> and include/linux/pm_qos.h
> . rename of API parameters and internal fields names
> . Move around the PM QoS misc devices management code for better readability
> . re-organize the internal data structs
> . generalize and export the constraints management core code
>
> 2. Implementation of the per-device PM QoS constraints:
> . create drivers/base/power/qos.c for the implementation
> . create a device PM QoS API, which calls the PM QoS constraints management
> core code
> . the per-device latency constraints data strctures are stored in the device
> dev_pm_info struct
> . the device PM code calls the init and destroy of the per-device constraints
> data struct in order to support the dynamic insertion and removal of the
> devices in the system.
> . to minimize the data usage by the per-device constraints, the data struct
> is only allocated at the first call to dev_pm_qos_add_request. The data
> is later free'd when the device is removed from the system
> . per-device notification callbacks can be registered and called upon a
> change to the aggregated constraint value
> . a global mutex protects the constraints users from the data being
> allocated and free'd.
>
> 3. add a global notification mechanism for the device constraints
> . add a global notification chain that gets called upon changes to the
> aggregated constraint value for any device.
> . the notification callbacks are passing the full constraint request data
> in order for the callees to have access to it. The current use is for the
> platform low-level code to access the target device of the constraint
>
>
> Questions:
> 1. the user space API is still under discussions on linux-omap and linux-pm MLs,
> cf. [1]. The idea is to add a user-space API for the devices constratins
> PM QoS, using a sysfs entry per device
>
> [1] http://marc.info/?l=linux-omap&m=131232344503327&w=2
>
> ToDo:
> 1. write Documentation for the new PM QoS class, once the code is agreed on
> 2. submit patches for the OMAP low level code to control the power domains
> states from the device constraints, using a global notification callback
>
>
> Based on the master branch of the linux-omap git tree (3.1.0-rc1). Compile
> tested using OMAP and x86 generic defconfigs.
>
> Tested on OMAP3 Beagleboard (ES2.x).
> Need testing on platforms other than OMAP, because of the impact on the
> device insertion/removal in device_pm_add/remove
OK
If that were my code, I'd probably change a couple of things more, but
it looks good enough to me to take as is. I'm going to push this patchset
for 3.2.
Thanks a lot for your hard work on it,
Rafael
next prev parent reply other threads:[~2011-08-18 7:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-17 19:39 [PATCH v6 0/7] PM QoS: add a per-device latency constraints framework jean.pihet
2011-08-17 19:39 ` [PATCH 1/7] PM QoS: move and rename the implementation files jean.pihet
2011-08-17 19:39 ` [PATCH 2/7] PM QoS: minor clean-ups jean.pihet
2011-08-17 19:39 ` [PATCH 3/7] PM QoS: code re-organization jean.pihet
2011-08-17 19:39 ` [PATCH 4/7] PM QoS: re-organize data structs jean.pihet
2011-08-17 19:39 ` [PATCH 5/7] PM QoS: generalize and export the constraints management code jean.pihet
2011-08-17 19:39 ` [PATCH 6/7] PM QoS: implement the per-device PM QoS constraints jean.pihet
2011-08-17 19:39 ` [PATCH 7/7] PM QoS: add a global notification mechanism for the device constraints jean.pihet
2011-08-18 7:59 ` Rafael J. Wysocki [this message]
2011-08-22 17:56 ` [PATCH v6 0/7] PM QoS: add a per-device latency constraints framework Kevin Hilman
2011-08-22 18:53 ` Rafael J. Wysocki
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=201108180959.00827.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=j-pihet@ti.com \
--cc=jean.pihet@newoldbits.com \
--cc=khilman@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=magnus.damm@gmail.com \
--cc=markgross@thegnar.org \
--cc=paul@pwsan.com \
--cc=toddpoynor@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox