From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Linux PM mailing list <linux-pm@lists.linux-foundation.org>,
linux-omap@vger.kernel.org, Jean Pihet <j-pihet@ti.com>,
markgross@thegnar.org
Subject: Re: [PATCH 02/11] PM: extend PM QoS with per-device wake-up constraints
Date: Sat, 6 Aug 2011 21:46:20 +0200 [thread overview]
Message-ID: <201108062146.20423.rjw@sisk.pl> (raw)
In-Reply-To: <20110806033711.GA18987@opensource.wolfsonmicro.com>
On Saturday, August 06, 2011, Mark Brown wrote:
> On Fri, Aug 05, 2011 at 09:37:36PM +0200, Rafael J. Wysocki wrote:
> > On Friday, August 05, 2011, Mark Brown wrote:
>
> > > Do you have any examples of this that aren't better expressed in device
> > > specific terms?
>
> > I'm not sure what you mean exactly, but if you take two PC-like systems
> > with similar hardware configurations, but different BIOS-es and motherboard
> > layouts, it's very likely that on one of them PCI PME won't be routed
> > correctly, for example. In that case the kernel has no way to figure out
> > that that system is broken, the problem can only be worked around from user
> > space by diabling runtime PM on the affected PCI devices. I expect similar
> > problems to appear for the PM QoS settings.
>
> I wouldn't say we've got to rely on userspace here - it seems like we
> ought to be able to use DMI or other system data to identify the
> affected systems and activate the workarounds.
That's only practical on systems where the kernel can be rebuilt.
Moreover, if that affects individual devices, using DMI-based blacklists
is not really practical at all.
> > > It's not that users don't know what they're doing, it's
> > > that working around system integration and stability issues in userspace
> > > isn't really progressing things well or helping with maintainability.
>
> > No, it's not, but sometimes we simply don't have the choice. Besides,
> > in the particular case of PM QoS, the constraints set by user space will
> > simply be added to the constraints set by kernel subsystems. Thus they
> > won't prevent any kernel subsystem from specifying its own constraints,
> > but they will give user space the option to override the constraints
> > originating from the kernel.
>
> You're right that it doesn't stop the kernel doing anything, the concern
> is that people just won't bother making the kernel work properly and
> will just do their power management in userspace and not bother fixing
> the kernel.
I wouldn't call it "fixing the kernel". I'd rather say "putting workarounds
into the kernel", which I'm not sure is the right thing to at least in some
cases.
> Punting to userspace seems like it is creating the
> expectation that we can't make the kernel work and isn't great from a
> usability perspective since users shouldn't really be worrying about bus
> performance or so on, it's not something that's visible at the level
> applications work at.
However, platform builders may want to fine tuned things and I'm not sure
we should require them to patch the kernel for this purpose.
> > > Generally if the user has sufficient access to be able to do anything
> > > with this stuff they've got just as much access to the kernel as to
> > > userspace.
>
> > Do you mean they may rebuild the kernel? That isn't always possible.
>
> I'm not sure I can see a lot of cases where you'd have root access and
> not be able to do kernel updates if required? Having stuff in debugfs
> for diagnostics doesn't strike me as a problem if that's the issue.
Root access doesn't necessarily mean you have all of the requisite
tools (like compilers etc.) and installing them isn't always trivial
(think of systems like phones etc.), let alone building the kernel from
sources (where you don't necessarily know the original .config used for
building your device's kernel).
IOW, I don't buy the "you can always rebuild the kernel if necessary"
argument. It simply is not true in general.
Thanks,
Rafael
next prev parent reply other threads:[~2011-08-06 19:46 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1309446685-17502-1-git-send-email-j-pihet@ti.com>
2011-06-30 15:11 ` [PATCH 01/11] PM: add a per-device wake-up latency constraints plist jean.pihet
2011-06-30 15:11 ` [PATCH 02/11] PM: extend PM QoS with per-device wake-up constraints jean.pihet
2011-06-30 15:11 ` [PATCH 03/11] PM QoS: support the dynamic devices insertion and removal 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 ` [PATCH 05/11] OMAP PM: early init of the pwrdms states jean.pihet
2011-06-30 15:11 ` [PATCH 06/11] OMAP2+: powerdomain: control power domains next state 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 ` [PATCH 08/11] OMAP4: " 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 ` [PATCH 10/11] OMAP: PM CONSTRAINTS: implement the devices " jean.pihet
2011-06-30 15:11 ` [PATCH 11/11] OMAP2+: cpuidle only influences the MPU state 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
[not found] ` <1309446685-17502-2-git-send-email-j-pihet@ti.com>
2011-07-02 19:39 ` [PATCH 01/11] PM: add a per-device wake-up latency constraints plist Rafael J. Wysocki
[not found] ` <201107022139.51579.rjw@sisk.pl>
2011-07-20 8:57 ` Jean Pihet
[not found] ` <1309446685-17502-3-git-send-email-j-pihet@ti.com>
2011-07-02 21:10 ` [PATCH 02/11] PM: extend PM QoS with per-device wake-up constraints Rafael J. Wysocki
[not found] ` <201107022310.50175.rjw@sisk.pl>
2011-07-20 9:13 ` Jean Pihet
2011-08-02 17:49 ` Kevin Hilman
[not found] ` <87bow7ln4c.fsf@ti.com>
2011-08-02 20:19 ` Rafael J. Wysocki
[not found] ` <201108022220.00019.rjw@sisk.pl>
2011-08-02 21:23 ` Kevin Hilman
[not found] ` <8762mfecdk.fsf@ti.com>
2011-08-02 22:16 ` Rafael J. Wysocki
2011-08-04 13:24 ` Mark Brown
[not found] ` <20110804132426.GB14921@sirena.org.uk>
2011-08-04 19:15 ` Rafael J. Wysocki
[not found] ` <201108042115.30983.rjw@sisk.pl>
2011-08-05 15:29 ` mark gross
2011-08-05 16:11 ` Mark Brown
[not found] ` <20110805161147.GA3438@opensource.wolfsonmicro.com>
2011-08-05 19:37 ` Rafael J. Wysocki
[not found] ` <201108052137.37011.rjw@sisk.pl>
2011-08-06 3:37 ` Mark Brown
[not found] ` <20110806033711.GA18987@opensource.wolfsonmicro.com>
2011-08-06 19:46 ` Rafael J. Wysocki [this message]
2011-08-07 2:47 ` Mark Brown
[not found] ` <20110807024712.GA5887@opensource.wolfsonmicro.com>
2011-08-08 21:31 ` Rafael J. Wysocki
[not found] ` <201108082331.35853.rjw@sisk.pl>
2011-08-19 3:11 ` Mark Brown
[not found] ` <1313723464.19990.124.camel@finisterre.wolfsonmicro.main>
2011-08-19 20:42 ` Rafael J. Wysocki
[not found] ` <201108192242.20471.rjw@sisk.pl>
2011-08-19 23:14 ` Mark Brown
[not found] ` <20110819231419.GA3981@sirena.org.uk>
2011-08-20 2:24 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1108192223230.18944-100000@netrider.rowland.org>
2011-08-20 6:25 ` Mark Brown
2011-08-20 9:35 ` Rafael J. Wysocki
[not found] ` <201108201135.58886.rjw@sisk.pl>
2011-08-20 10:31 ` Mark Brown
[not found] ` <20110820103121.GA21457@opensource.wolfsonmicro.com>
2011-08-20 16:51 ` Rafael J. Wysocki
[not found] ` <201108201851.42839.rjw@sisk.pl>
2011-08-20 17:22 ` Mark Brown
[not found] ` <20110820172237.GB27040@opensource.wolfsonmicro.com>
2011-08-20 19:18 ` Rafael J. Wysocki
2011-08-26 2:25 ` MyungJoo Ham
[not found] ` <CAJ0PZbRCvoh8-rJAR92Ak_JPk4FyR0dp_OeKOUkWtD5AdFsPCw@mail.gmail.com>
2011-08-26 16:54 ` mark gross
[not found] ` <20110826165427.GC9437@gvim.org>
2011-08-26 20:56 ` Rafael J. Wysocki
[not found] ` <1309446685-17502-4-git-send-email-j-pihet@ti.com>
2011-07-02 21:14 ` [PATCH 03/11] PM QoS: support the dynamic devices insertion and removal Rafael J. Wysocki
[not found] ` <201107022314.21713.rjw@sisk.pl>
2011-07-20 9:16 ` Jean Pihet
[not found] ` <201107022120.47221.rjw@sisk.pl>
2011-07-04 7:16 ` [PATCH v2 00/11] PM QoS: add a per-device wake-up latency constraint class Vishwanath Sripathy
2011-07-04 8:38 ` Rafael J. Wysocki
2011-07-20 9:26 ` Jean Pihet
[not found] ` <CAORVsuVt1cg04T7wKKTeaGHEDs-OEejs7+cuDXpVcCUv7r4_FQ@mail.gmail.com>
2011-07-20 13:22 ` mark gross
[not found] <20110820062543.GA5011@opensource.wolfsonmicro.com>
2011-08-20 13:48 ` [PATCH 02/11] PM: extend PM QoS with per-device wake-up constraints Alan Stern
[not found] ` <Pine.LNX.4.44L0.1108200943500.26680-100000@netrider.rowland.org>
2011-08-20 15:30 ` Mark Brown
[not found] ` <20110820152959.GA22424@opensource.wolfsonmicro.com>
2011-08-20 16:34 ` Rafael J. Wysocki
[not found] ` <201108201834.34741.rjw@sisk.pl>
2011-08-20 17:04 ` Mark Brown
[not found] ` <20110820170403.GA27040@opensource.wolfsonmicro.com>
2011-08-20 19:14 ` Rafael J. Wysocki
[not found] ` <201108202114.37502.rjw@sisk.pl>
2011-08-21 8:25 ` Mark Brown
[not found] ` <20110821082509.GA10380@opensource.wolfsonmicro.com>
2011-08-21 18:05 ` Rafael J. Wysocki
[not found] ` <201108212005.53898.rjw@sisk.pl>
2011-08-23 9:21 ` Mark Brown
[not found] ` <20110823092155.GJ9232@opensource.wolfsonmicro.com>
2011-08-23 21:31 ` Rafael J. Wysocki
[not found] ` <201108232331.54844.rjw@sisk.pl>
2011-08-25 10:38 ` Mark Brown
[not found] ` <20110825103847.GD31154@opensource.wolfsonmicro.com>
2011-08-25 14:17 ` Rafael J. Wysocki
[not found] ` <201108251617.31959.rjw@sisk.pl>
2011-08-25 14:41 ` Jean Pihet
[not found] ` <CAORVsuW7M_i6s85X5NFWv=DEeoARqFo47cyrrqq87djJ3nUFDQ@mail.gmail.com>
2011-08-25 14:49 ` Rafael J. Wysocki
2011-08-26 16:40 ` mark gross
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=201108062146.20423.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=j-pihet@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=markgross@thegnar.org \
/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