All of lore.kernel.org
 help / color / mirror / Atom feed
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: Re: [Update][PATCH 0/3] PM: Make it possible to expose PM QoS latency constraints
Date: Sat, 10 Mar 2012 22:14:59 +0100	[thread overview]
Message-ID: <201203102214.59615.rjw@sisk.pl> (raw)
In-Reply-To: <201203090000.17664.rjw@sisk.pl>

On Friday, March 09, 2012, Rafael J. Wysocki wrote:
> 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 seems that the name of the new attribute has been agreed on, so I wonder
if anyone still has any problems with patches [1/3]?  If not and if there is
v3.3-rc7, I'd like to include them into my v3.4 material.

> - 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

  parent reply	other threads:[~2012-03-10 21:10 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     ` [Update][PATCH 0/3] PM: Make it possible to expose PM QoS latency constraints Rafael J. Wysocki
2012-03-08 23:01       ` [Update][PATCH 1/3] PM / QoS: " 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       ` Rafael J. Wysocki [this message]
2012-03-06 10:30 ` [PATCH 0/3] MMC / PM: Make it possible to use PM QoS latency constraints 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=201203102214.59615.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 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.