All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vishwanath Sripathy <vishwanath.bs@ti.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>, jean.pihet@newoldbits.com
Cc: markgross@thegnar.org,
	Linux PM mailing list <linux-pm@lists.linux-foundation.org>,
	linux-omap@vger.kernel.org, Jean Pihet-XID <j-pihet@ti.com>
Subject: Re: [PATCH v2 00/11] PM QoS: add a per-device wake-up latency constraint class
Date: Mon, 4 Jul 2011 12:46:17 +0530	[thread overview]
Message-ID: <62b1cfbe626e329338b9f0a9b69ef2d3@mail.gmail.com> (raw)
In-Reply-To: <201107022120.47221.rjw@sisk.pl>

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of Rafael J. Wysocki
> Sent: Sunday, July 03, 2011 12:51 AM
> To: jean.pihet@newoldbits.com
> Cc: Paul Walmsley; Kevin Hilman; Magnus Damm; Linux PM mailing list;
> linux-omap@vger.kernel.org; markgross@thegnar.org; Jean Pihet
> Subject: Re: [PATCH v2 00/11] PM QoS: add a per-device wake-up
> latency constraint class
>
> Hi,
>
> On Thursday, June 30, 2011, jean.pihet@newoldbits.com wrote:
> > From: Jean Pihet <j-pihet@ti.com>
> >
> > This patch set is in an RFC state, for review and comments.
>
> First off, I'm sorry I couldn't review the patchset earlier.
>
> > In order to implement the new class in PM QoS the following
> changes have been
> > made:
> >
> > 1. Add a new PM QoS class for device wake-up constraints
> > (PM_QOS_DEV_WAKEUP_LATENCY).
> > Due to the per-device nature of the new class the constraints
> lists are stored
> > inside the device dev_pm_info struct instead of the internal per-
> class
> > constraints lists.
> > The new class is only available from kernel drivers and so is not
> exported to
> > user space.
>
> Have you considered a design in which multiple devices may use the
> same
> list of constraints?  It seems plausible that the constraints will
> be the
> same, for example, for all Ethernet adapters in the system, in which
> case it
> will be wasteful to duplicate the list of constraints for each of
> them.
>
> > 2. Added a notification of device insertion/removal from the
> device PM framework
> > to PM QoS.
> > This allows to init/de-init the per-device constraints list upon
> device insertion
> > and removal.
> > RFC state for comments and review, barely tested
>
> I need to have a look at the details, but in principle this means
> that the
> per-device lists will be usable only after the devices have been
> registered.
> In particular, this means that it will only be possible to add new
> constraints
> after registering the device, which may be too late for some use
> cases.
>
> > 3. Make the pm_qos_add_request API more generic by using a
> > struct pm_qos_parameters parameter. This allows easy extension in
> the future.
> >
> > 4. Upon a change of the strongest constraint in the
> PM_QOS_DEV_WAKEUP_LATENCY
> > class a notification chain mechanism is used to take action on the
> system.
> > This is the proposed way to have PM QoS and the platform dependant
> code to
> > interact with each other, cf. 4 below.
>
> I guess you mean 5.?
>
> I think we will need something in addition to the notifier here.
> For example,
> I wouldn't like any core code, like runtime PM or cpuidle, to have
> to register
> a notifier with PM QoS.
>
> > The notification mechanism now passes the constraint request
> struct ptr in
> > order for the notifier callback to have access to the full set of
> constraint
> > data, e.g. the struct device ptr.
> >
> > 5. cpuidle interaction with the OMAP3 cpuidle handler
> > Since cpuidle is a CPU centric framework it decides the MPU next
> power state
> > based on the MPU exit_latency and target_residency figures.
> >
> > The rest of the power domains get their next power state
> programmed from
> > the PM_QOS_DEV_WAKEUP_LATENCY class of the PM QoS framework, via
> the device
> > wake-up latency constraints.
> >
> > Note: the exit_latency and target_residency figures of the MPU
> include the MPU
> > itself and the peripherals needed for the MPU to execute
> instructions (e.g.
> > main memory, caches, IRQ controller, MMU etc).
> > Some of those peripherals can belong to other power domains than
> the MPU
> > subsystem and so the corresponding latencies must be included in
> those figures.
> >
> > 6. Update the pm_qos_add_request callers to the generic API
> >
> > 7. Minor clean-ups and rename of struct fields
> >
> > Questions:
> > 1. How to retrieve the device ptr from a given device driver in
> order to add
> > a constraint on it?
> > 2. The device struct has recently been extended with the power
> domain
> > information. Can this be used to apply the constraints on power
> domains?
>
> Yes, it can in principle, but that will require some work.
>
> > On-going developments, patches in preparation:
> > 1. write Documentation for the new PM QoS class
>
> I'd wait with that until the code has settled.
>
> > 2. validate the constraints framework on OMAP4 HW (done on OMAP3)
> > 3. refine the power domains wake-up latency and the cpuidle
> figures
> >
> > Based on the master branch of the linux-omap git tree (3.0.0-rc3).
> Compile
> > tested using OMAP and x86 generic defconfigs.
> > Tested on OMAP3 Beagleboard (ES2.x) with full RETention and OFF
> modes.
>
> More detailed comments will follow.
Thanks Rafael for reviewing the patches. Jean is currently on summer
vacation for 2 weeks and will take this discussion forward once he is back
to work on July 18.

Regards
Vishwa
>
> Thanks,
> Rafael
> --
> To unsubscribe from this list: send the line "unsubscribe linux-
> omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2011-07-04  7:16 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-30 15:11 [PATCH v2 00/11] PM QoS: add a per-device wake-up latency constraint class jean.pihet
2011-06-30 15:11 ` [PATCH 01/11] PM: add a per-device wake-up latency constraints plist jean.pihet
2011-07-02 19:39   ` Rafael J. Wysocki
2011-07-20  8:57     ` Jean Pihet
2011-07-20  8:57     ` Jean Pihet
2011-07-02 19:39   ` Rafael J. Wysocki
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 02/11] PM: extend PM QoS with per-device wake-up constraints jean.pihet
2011-07-02 21:10   ` Rafael J. Wysocki
2011-07-20  9:13     ` Jean Pihet
2011-07-20  9:13     ` Jean Pihet
2011-08-02 17:49     ` Kevin Hilman
2011-08-02 17:49     ` Kevin Hilman
2011-08-02 20:19       ` Rafael J. Wysocki
2011-08-02 21:23         ` Kevin Hilman
2011-08-02 22:16           ` Rafael J. Wysocki
2011-08-04 13:24             ` [linux-pm] " Mark Brown
2011-08-04 19:15               ` Rafael J. Wysocki
2011-08-04 19:15               ` [linux-pm] " Rafael J. Wysocki
2011-08-05 15:29                 ` mark gross
2011-08-05 15:29                 ` [linux-pm] " mark gross
2011-08-05 16:11                 ` Mark Brown
2011-08-05 19:37                   ` Rafael J. Wysocki
2011-08-06  3:37                     ` Mark Brown
2011-08-06  3:37                     ` [linux-pm] " Mark Brown
2011-08-06 19:46                       ` Rafael J. Wysocki
2011-08-07  2:47                         ` Mark Brown
2011-08-07  2:47                         ` [linux-pm] " Mark Brown
2011-08-08 21:31                           ` Rafael J. Wysocki
2011-08-08 21:31                           ` [linux-pm] " Rafael J. Wysocki
2011-08-19  3:11                             ` Mark Brown
2011-08-19  3:11                             ` [linux-pm] " Mark Brown
2011-08-19 20:42                               ` Rafael J. Wysocki
2011-08-19 23:14                                 ` Mark Brown
2011-08-19 23:14                                 ` [linux-pm] " Mark Brown
2011-08-20  2:24                                   ` Alan Stern
2011-08-20  6:25                                     ` Mark Brown
2011-08-20  6:25                                     ` [linux-pm] " Mark Brown
2011-08-20 13:48                                       ` Alan Stern
2011-08-20 15:30                                         ` Mark Brown
2011-08-20 15:30                                         ` [linux-pm] " Mark Brown
2011-08-20 16:34                                           ` Rafael J. Wysocki
2011-08-20 17:04                                             ` Mark Brown
2011-08-20 19:14                                               ` Rafael J. Wysocki
2011-08-20 19:14                                               ` [linux-pm] " Rafael J. Wysocki
2011-08-21  8:25                                                 ` Mark Brown
2011-08-21 18:05                                                   ` Rafael J. Wysocki
2011-08-23  9:21                                                     ` Mark Brown
2011-08-23  9:21                                                     ` [linux-pm] " Mark Brown
2011-08-23 21:31                                                       ` Rafael J. Wysocki
2011-08-23 21:31                                                       ` [linux-pm] " Rafael J. Wysocki
2011-08-25 10:38                                                         ` Mark Brown
2011-08-25 10:38                                                         ` [linux-pm] " Mark Brown
2011-08-25 14:17                                                           ` Rafael J. Wysocki
2011-08-25 14:41                                                             ` Jean Pihet
2011-08-25 14:41                                                             ` [linux-pm] " Jean Pihet
2011-08-25 14:49                                                               ` Rafael J. Wysocki
2011-08-25 14:49                                                               ` Rafael J. Wysocki
2011-08-26 16:40                                                             ` mark gross
2011-08-26 16:40                                                             ` [linux-pm] " mark gross
2011-08-25 14:17                                                           ` Rafael J. Wysocki
2011-08-21 18:05                                                   ` Rafael J. Wysocki
2011-08-21  8:25                                                 ` Mark Brown
2011-08-20 17:04                                             ` Mark Brown
2011-08-20 16:34                                           ` Rafael J. Wysocki
2011-08-20 13:48                                       ` Alan Stern
2011-08-20  2:24                                   ` Alan Stern
2011-08-20  9:35                                   ` Rafael J. Wysocki
2011-08-20  9:35                                   ` [linux-pm] " Rafael J. Wysocki
2011-08-20 10:31                                     ` Mark Brown
2011-08-20 10:31                                     ` [linux-pm] " Mark Brown
2011-08-20 16:51                                       ` Rafael J. Wysocki
2011-08-20 17:22                                         ` Mark Brown
2011-08-20 19:18                                           ` Rafael J. Wysocki
2011-08-20 19:18                                           ` [linux-pm] " Rafael J. Wysocki
2011-08-20 17:22                                         ` Mark Brown
2011-08-20 16:51                                       ` Rafael J. Wysocki
2011-08-19 20:42                               ` Rafael J. Wysocki
2011-08-05 19:37                   ` Rafael J. Wysocki
2011-08-05 16:11                 ` Mark Brown
2011-08-04 13:24             ` Mark Brown
2011-08-02 21:23         ` Kevin Hilman
2011-08-02 20:19       ` Rafael J. Wysocki
2011-07-02 21:10   ` Rafael J. Wysocki
2011-08-26  2:25   ` MyungJoo Ham
2011-08-26  2:25   ` [linux-pm] " MyungJoo Ham
2011-08-26 16:54     ` mark gross
2011-08-26 16:54     ` [linux-pm] " mark gross
2011-08-26 20:56       ` Rafael J. Wysocki
2011-08-26 20:56       ` [linux-pm] " Rafael J. Wysocki
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 03/11] PM QoS: support the dynamic devices insertion and removal jean.pihet
2011-07-02 21:14   ` Rafael J. Wysocki
2011-07-02 21:14   ` Rafael J. Wysocki
2011-07-20  9:16     ` Jean Pihet
2011-07-20  9:16     ` Jean Pihet
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 04/11] OMAP PM: create a PM layer plugin for per-device constraints jean.pihet
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 05/11] OMAP PM: early init of the pwrdms states jean.pihet
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 06/11] OMAP2+: powerdomain: control power domains next state jean.pihet
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 07/11] OMAP3: powerdomain data: add wake-up latency figures jean.pihet
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 08/11] OMAP4: " jean.pihet
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 09/11] OMAP2+: omap_hwmod: manage the wake-up latency constraints jean.pihet
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 10/11] OMAP: PM CONSTRAINTS: implement the devices " jean.pihet
2011-06-30 15:11 ` jean.pihet
2011-06-30 15:11 ` [PATCH 11/11] OMAP2+: cpuidle only influences the MPU state jean.pihet
2011-06-30 15:11 ` jean.pihet
2011-07-02 19:20 ` [PATCH v2 00/11] PM QoS: add a per-device wake-up latency constraint class Rafael J. Wysocki
2011-07-02 19:20 ` Rafael J. Wysocki
2011-07-04  7:16   ` Vishwanath Sripathy [this message]
2011-07-04  8:38     ` Rafael J. Wysocki
2011-07-04  8:38     ` Rafael J. Wysocki
2011-07-20  9:26   ` Jean Pihet
2011-07-20 13:22     ` mark gross
2011-07-20 13:22     ` mark gross
2011-07-20  9:26   ` Jean Pihet
  -- strict thread matches above, loose matches on Subject: below --
2011-06-30 15:11 jean.pihet

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=62b1cfbe626e329338b9f0a9b69ef2d3@mail.gmail.com \
    --to=vishwanath.bs@ti.com \
    --cc=j-pihet@ti.com \
    --cc=jean.pihet@newoldbits.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=markgross@thegnar.org \
    --cc=rjw@sisk.pl \
    /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.