From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Linux PM list <linux-pm@vger.kernel.org>
Cc: Linux MMC list <linux-mmc@vger.kernel.org>,
Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
Chris Ball <cjb@laptop.org>,
Ulf Hansson <ulf.hansson@stericsson.com>,
Magnus Damm <magnus.damm@gmail.com>,
Linus Walleij <linus.walleij@linaro.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Kevin Hilman <khilman@ti.com>
Subject: [Update][PATCH 0/3] PM: Make it possible to expose PM QoS latency constraints
Date: Fri, 9 Mar 2012 00:00:17 +0100 [thread overview]
Message-ID: <201203090000.17664.rjw@sisk.pl> (raw)
In-Reply-To: <201203080027.27435.rjw@sisk.pl>
Hi all,
On Thursday, March 08, 2012, Rafael J. Wysocki wrote:
> On Sunday, March 04, 2012, Rafael J. Wysocki wrote:
> > On Sunday, March 04, 2012, Rafael J. Wysocki wrote:
> > >
> > > The goal of this patchset is to allow user space to control the
> > > responsiveness of the MMC stack related to runtime power management.
> > >
> > > Namely, on systems that contain power domains, the time necessary
> > > to bring an MMC host up after it has been runtime-suspended may
> > > depend not only on the MMC core and host driver, but also on the platform
> > > and other devices in the same power domain(s) that contain(s) the MMC
> > > host. Although that obviously may influence the MMC performance,
> > > currently, there is no way to control it through the MMC subsystem.
> > > Moreover, the only available way to control it at all is by using PM QoS
> > > latency requests, so it is necessary to add some kind of support for that
> > > to MMC.
> > >
> > > Patch [1/3] adds PM QoS-related fields to struct mmc_host and introduces
> > > a new sysfs attribute for MMC hosts, pm_latency_limit_ms, allowing user
> > > space to influence the MMC host's runtime PM via PM QoS. Whether or not
> > > this attribute will be created (and PM QoS will be used for the given host)
> > > depends on the host driver, so host drivers that don't (plan) to support
> > > PM QoS don't need to do anything about that.
> > >
> > > Patches [2/3] and [3/3] add the corresponding host driver bits to the
> > > tmio_mmc and sh_mmcif drivers, respectively.
> >
> > After posting the patches I noticed that the changelog of patch [1/3] and
> > the documentation of the new sysfs attribute were not 100% accurate, because
> > the PM QoS request really applies to the time between a resume request and
> > the moment the device is operational again and not the time from runtime
> > suspend (the latter would imply some kind of autoresume mechanism, which isn't
> > there).
> >
> > I also thought it would be cleaner to allocate the val and attr fields along
> > with the request, because in the previous version of the patchset they weren't
> > used when req was NULL, resulting in (a little) wasted memory.
> >
> > Updated patches follow.
>
> Taking the feedback so far into account, I decided to move the exposing of the
> PM QoS latency limit from the MMC layer to the PM core sysfs code, so that
> every driver (not only MMC host drivers) can use it.
>
> New patches follow, details are in the changelogs:
>
> [1/3] - Make it possible to expose PM QoS latency constraints
> [2/3] - Make tmio_mmc use the new interface.
> [3/3] - Make sh_mmcif use the new interface.
Taking the latest feedback into account I reworked patch [1/3] in the
following way:
- The new attribute is now called pm_qos_resume_latency_us.
- It depends on CONFIG_PM_RUNTIME and the documentation says it doesn't has an
effect on system-wide suspend/resume.
- The new attribute is hidden automatically by dev_pm_qos_constraints_destroy()
if still exposed at this point, so the drivers that exposed it don't have to
hide it explicitly on removal (although they still can do that).
However, I still think that it is appropriate for the MMC drivers to hide it
on _their_ removal, because otherwise the device would be left with the
meaningless attribute after that point. So, I haven't modified patches [2-3/3],
but they follow for completness.
I've added the Reviewed-by tags from Kevin and Mark to patch [1/3], becuase
the changes made generally follow their suggestions.
Thanks,
Rafael
next prev parent reply other threads:[~2012-03-08 23:00 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-04 0:01 [PATCH 0/3] MMC / PM: Make it possible to use PM QoS latency constraints Rafael J. Wysocki
2012-03-04 0:02 ` [PATCH 1/3] " Rafael J. Wysocki
2012-03-04 10:59 ` Linus Walleij
2012-03-04 19:47 ` Rafael J. Wysocki
2012-03-04 0:04 ` [PATCH 2/3] tmio_mmc / PM: Use PM QoS requests Rafael J. Wysocki
2012-03-04 0:04 ` [PATCH 3/3] sh_mmcif " Rafael J. Wysocki
2012-03-04 19:53 ` [PATCH 0/3] MMC / PM: Make it possible to use PM QoS latency constraints Rafael J. Wysocki
2012-03-04 19:55 ` [PATCH 1/3] MMC / PM: Make it possible to use PM QoS latency constraints, v2 Rafael J. Wysocki
2012-03-05 7:02 ` Linus Walleij
2012-03-06 9:34 ` Guennadi Liakhovetski
2012-03-06 21:06 ` Rafael J. Wysocki
2012-03-04 19:56 ` [PATCH 2/3] tmio_mmc / PM: Use PM QoS requests, v2 Rafael J. Wysocki
2012-03-06 9:40 ` Guennadi Liakhovetski
2012-03-06 21:07 ` Rafael J. Wysocki
2012-03-06 22:33 ` Guennadi Liakhovetski
2012-03-06 23:41 ` Rafael J. Wysocki
2012-03-04 19:56 ` [PATCH 3/3] sh_mmcif " Rafael J. Wysocki
2012-03-06 9:40 ` Guennadi Liakhovetski
2012-03-06 21:09 ` Rafael J. Wysocki
2012-03-07 23:27 ` [PATCH 0/3] PM: Make it possible to expose PM QoS latency constraints Rafael J. Wysocki
2012-03-07 23:28 ` [PATCH 1/3] PM / QoS: " Rafael J. Wysocki
2012-03-08 17:49 ` Kevin Hilman
2012-03-08 18:01 ` Mark Brown
2012-03-08 21:28 ` Rafael J. Wysocki
2012-03-08 21:23 ` Guennadi Liakhovetski
2012-03-08 21:27 ` Rafael J. Wysocki
2012-03-08 22:05 ` Kevin Hilman
2012-03-08 22:37 ` Rafael J. Wysocki
2012-03-08 23:18 ` Kevin Hilman
2012-03-08 23:30 ` Rafael J. Wysocki
2012-03-09 1:02 ` Kevin Hilman
2012-03-09 15:17 ` Alan Stern
2012-03-09 17:10 ` Kevin Hilman
2012-03-09 20:59 ` Rafael J. Wysocki
2012-03-09 21:34 ` Kevin Hilman
2012-03-07 23:29 ` [PATCH 2/3] tmio_mmc / PM: Use PM QoS latency constraint Rafael J. Wysocki
2012-03-08 8:02 ` Adrian Hunter
2012-03-08 21:29 ` Rafael J. Wysocki
2012-03-07 23:30 ` [PATCH 3/3] sh_mmcif " Rafael J. Wysocki
2012-03-08 11:03 ` Mark Brown
2012-03-08 21:29 ` Rafael J. Wysocki
2012-03-08 23:00 ` Rafael J. Wysocki [this message]
2012-03-08 23:01 ` [Update][PATCH 1/3] PM / QoS: Make it possible to expose PM QoS latency constraints Rafael J. Wysocki
2012-03-12 19:32 ` Linus Walleij
2012-03-13 0:02 ` Rafael J. Wysocki
2012-03-08 23:03 ` [Update][PATCH 2/3] tmio_mmc / PM: Use PM QoS latency constraint Rafael J. Wysocki
2012-03-08 23:03 ` [Update][PATCH 3/3] sh_mmcif " Rafael J. Wysocki
2012-03-10 21:14 ` [Update][PATCH 0/3] PM: Make it possible to expose PM QoS latency constraints Rafael J. Wysocki
2012-03-06 10:30 ` [PATCH 0/3] MMC / PM: Make it possible to use " Adrian Hunter
2012-03-06 13:39 ` Guennadi Liakhovetski
2012-03-06 21:14 ` Rafael J. Wysocki
2012-03-07 8:31 ` Adrian Hunter
2012-03-07 9:05 ` Rafael J. Wysocki
2012-03-07 19:38 ` Mark Brown
2012-03-07 20:38 ` Kevin Hilman
2012-03-07 20:51 ` Rafael J. Wysocki
2012-03-07 20:54 ` Mark Brown
2012-03-07 21:31 ` Rafael J. Wysocki
2012-03-06 21:47 ` Rafael J. Wysocki
2012-03-07 7:06 ` Adrian Hunter
2012-03-07 9:05 ` 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=201203090000.17664.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=adrian.hunter@intel.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=cjb@laptop.org \
--cc=g.liakhovetski@gmx.de \
--cc=khilman@ti.com \
--cc=linus.walleij@linaro.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=ulf.hansson@stericsson.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;
as well as URLs for NNTP newsgroup(s).