All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
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: Sun, 7 Aug 2011 11:47:14 +0900	[thread overview]
Message-ID: <20110807024712.GA5887__13306.3781694093$1312685402$gmane$org@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <201108062146.20423.rjw@sisk.pl>

On Sat, Aug 06, 2011 at 09:46:20PM +0200, Rafael J. Wysocki wrote:
> On Saturday, August 06, 2011, Mark Brown wrote:

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

OK, so this does sound like there's probably a genuine issue on PCs due
to limitations in the environment.  Is it possible to expose these
things to userspace in a way that's limited to the affected platforms?

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

That does sound like a fair characterization for PCs.  For embedded
systems where we have a *much* better knowledge of the hardware we're
running on you're just working with the basics of what the hardware
needs to run - the hardware needs whatever it needs and no matter what
you think of the quality of the hardware there's an expectation that the
kernel is ging to be able to work.

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

As I've said it's not the fine tuning that I'm worried about, it's the
specific mechanism that's being suggested.  Being able to tune things in
a way that's relevant to the device being tuned seems entirely sensible.

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

Phones are exactly the sort of case I'm primarily concerned with here.

Realistically if you're in a position where you need to work at this
very low level on an embedded device you can replace the entire firmware
on the device.  We don't want to end up in the situation where we've got
kernel support for a device and the only way to get it to actually run
sensibly is to install the silicon vendor's proprietary userspace, and
we especially don't want to end up in the situation where that userspace
is using standard and supported kernel interfaces to do its thing.

> IOW, I don't buy the "you can always rebuild the kernel if necessary"
> argument.  It simply is not true in general.

You can push that argument to extremes, of course.

  reply	other threads:[~2011-08-07  2:47 UTC|newest]

Thread overview: 122+ 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-06-30 15:11 ` 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 ` [PATCH 02/11] PM: extend PM QoS with per-device wake-up constraints jean.pihet
2011-06-30 15:11 ` 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 20:19       ` Rafael J. Wysocki
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-05 15:29                 ` mark gross
2011-08-05 15:29                 ` mark gross
2011-08-05 16:11                 ` Mark Brown
2011-08-05 16:11                 ` [linux-pm] " Mark Brown
2011-08-05 19:37                   ` Rafael J. Wysocki
2011-08-05 19:37                   ` [linux-pm] " Rafael J. Wysocki
2011-08-06  3:37                     ` Mark Brown
2011-08-06 19:46                       ` Rafael J. Wysocki
2011-08-07  2:47                         ` Mark Brown [this message]
2011-08-07  2:47                         ` [linux-pm] " Mark Brown
2011-08-08 21:31                           ` Rafael J. Wysocki
2011-08-19  3:11                             ` Mark Brown
2011-08-19 20:42                               ` Rafael J. Wysocki
2011-08-19 23:14                                 ` Mark Brown
2011-08-20  2:24                                   ` Alan Stern
2011-08-20  2:24                                   ` [linux-pm] " Alan Stern
2011-08-20  6:25                                     ` Mark Brown
2011-08-20 13:48                                       ` Alan Stern
2011-08-20 13:48                                       ` [linux-pm] " Alan Stern
2011-08-20 15:30                                         ` Mark Brown
2011-08-20 16:34                                           ` Rafael J. Wysocki
2011-08-20 17:04                                             ` Mark Brown
2011-08-20 17:04                                             ` [linux-pm] " Mark Brown
2011-08-20 19:14                                               ` Rafael J. Wysocki
2011-08-21  8:25                                                 ` Mark Brown
2011-08-21  8:25                                                 ` [linux-pm] " Mark Brown
2011-08-21 18:05                                                   ` Rafael J. Wysocki
2011-08-23  9:21                                                     ` Mark Brown
2011-08-23 21:31                                                       ` 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                                                               ` [linux-pm] " 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-23 21:31                                                       ` Rafael J. Wysocki
2011-08-23  9:21                                                     ` Mark Brown
2011-08-21 18:05                                                   ` Rafael J. Wysocki
2011-08-20 19:14                                               ` Rafael J. Wysocki
2011-08-20 16:34                                           ` Rafael J. Wysocki
2011-08-20 15:30                                         ` Mark Brown
2011-08-20  6:25                                     ` Mark Brown
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 16:51                                       ` [linux-pm] " Rafael J. Wysocki
2011-08-20 17:22                                         ` Mark Brown
2011-08-20 17:22                                         ` [linux-pm] " Mark Brown
2011-08-20 19:18                                           ` Rafael J. Wysocki
2011-08-20 19:18                                           ` Rafael J. Wysocki
2011-08-19 23:14                                 ` Mark Brown
2011-08-19 20:42                               ` Rafael J. Wysocki
2011-08-19  3:11                             ` Mark Brown
2011-08-08 21:31                           ` Rafael J. Wysocki
2011-08-06  3:37                     ` Mark Brown
2011-08-04 19:15               ` Rafael J. Wysocki
2011-08-04 13:24             ` Mark Brown
2011-08-02 21:23         ` Kevin Hilman
2011-08-02 17:49     ` Kevin Hilman
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 20:56       ` Rafael J. Wysocki
2011-08-26 20:56       ` Rafael J. Wysocki
2011-08-26 16:54     ` mark gross
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
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

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='20110807024712.GA5887__13306.3781694093$1312685402$gmane$org@opensource.wolfsonmicro.com' \
    --to=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 \
    --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.