From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Linux PM list <linux-pm@vger.kernel.org>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC/RFT][PATCH v2 0/6] PM / QoS: Introduce latency tolerance device PM QoS type
Date: Fri, 24 Jan 2014 16:19:23 +0200 [thread overview]
Message-ID: <20140124141923.GQ18029@intel.com> (raw)
In-Reply-To: <1447517.8AFrWcAgld@vostro.rjw.lan>
On Thu, Jan 23, 2014 at 02:34:59PM +0100, Rafael J. Wysocki wrote:
> On Friday, January 17, 2014 03:42:13 PM Rafael J. Wysocki wrote:
> > Hi All,
> >
> > On some platforms hardware may switch to an energy-saving mode on the fly
> > on the basis of certain utilization metrics used by it. That usually is
> > desirable from the energy conservation standpoint, but it generally causes
> > latencies to increase which may adversely affect some operations. For this
> > reason, the platforms in question usually provide some interfaces for software
> > to indicate its latency tolerance and possibly to prevent the energy-saving
> > modes from being selected too aggressively.
> >
> > The following series of patches introduces a device PM QoS type allowing
> > those interfaces to be used by kernel code and user space. It is designed
> > in analogy with the existing resume latency device PM QoS type, which allows
> > some pieces of the existing device PM QoS code to be re-used and makes the
> > new user space interface fit into the existing framework.
> >
> > Patch [1/5] modifies the names of symbols, variables, functions and structure
> > fields associated with the existing resume latency device PM QoS type to
> > avoid any confusion with the new one introduced by the subsequent patches.
> >
> > Patch [2/5] introduces a new field in struct pm_qos_constraints for specifying
> > a special value to be returned as the effective requirement when the given list
> > of PM QoS requirements is empty. That field is necessary for the new latency
> > tolerance device PM QoS type.
> >
> > Patch [3/5] introduces the latency tolerance device PM QoS type along with
> > documentation.
> >
> > Patch [4/5] modifies the ACPI LPSS (Low-Power Subsystem) driver to hook up
> > LPSS devices to the new latency tolerance device PM QoS interface.
> >
> > Patch [5/5] modifies the dev_pm_qos_add_ancestor_request() routine so that it
> > can be used by drivers of devices without hardware latency tolerance support
> > for specifying their requirements via the ancestors of those devies.
>
> As usual, testing uncovered some issues, so an updated series follows.
I tested this series on HSWULT and adding/removing QoS LTR requests from
both userspace and from a modified i2c-hid driver (calling
dev_pm_qos_add_ancestor_request()) and seems to work nicely -- When I read
back the HW LTR values they are what is expected.
Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
next prev parent reply other threads:[~2014-01-24 14:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-17 14:42 [RFC/RFT][PATCH 0/5] PM / QoS: Introduce latency tolerance device PM QoS type Rafael J. Wysocki
2014-01-17 14:43 ` [RFC/RFT][PATCH 1/5] PM / QoS: Rename device resume latency QoS items Rafael J. Wysocki
2014-01-17 14:44 ` [RFC/RFT][PATCH 2/5] PM / QoS: Add no_constraints_value field to struct pm_qos_constraints Rafael J. Wysocki
2014-01-17 14:45 ` [RFC/RFT][PATCH 3/5] PM / QoS: Introduce latency tolerance device PM QoS type Rafael J. Wysocki
2014-01-17 14:46 ` [RFC/RFT][PATCH 4/5] ACPI / LPSS: Support for device latency tolerance PM QoS Rafael J. Wysocki
2014-01-20 11:15 ` Mika Westerberg
2014-01-20 13:10 ` Rafael J. Wysocki
2014-01-21 23:23 ` Rafael J. Wysocki
2014-01-21 23:24 ` [RFC/RFT][PATCH 4-1/5] ACPI / scan: Add bind/unbind callbacks to struct acpi_scan_handler Rafael J. Wysocki
2014-01-21 23:25 ` [RFC/RFT][PATCH 4-2/5] ACPI / LPSS: Support for device latency tolerance PM QoS Rafael J. Wysocki
2014-01-17 14:49 ` [RFC/RFT][PATCH 5/5] PM / QoS: Add type to dev_pm_qos_add_ancestor_request() arguments Rafael J. Wysocki
2014-01-23 13:34 ` [RFC/RFT][PATCH v2 0/6] PM / QoS: Introduce latency tolerance device PM QoS type Rafael J. Wysocki
2014-01-23 13:36 ` [RFC/RFT][PATCH v2 1/6] PM / QoS: Rename device resume latency QoS items Rafael J. Wysocki
2014-01-23 13:37 ` [RFC/RFT][PATCH v2 2/6] PM / QoS: Add no_constraints_value field to struct pm_qos_constraints Rafael J. Wysocki
2014-01-23 13:37 ` [RFC/RFT][PATCH v2 3/6] PM / QoS: Introcuce latency tolerance device PM QoS type Rafael J. Wysocki
2014-01-24 22:30 ` [Update][RFC/RFT][PATCH " Rafael J. Wysocki
2014-01-23 13:38 ` [RFC/RFT][PATCH v2 4/6] ACPI / scan: Add bind/unbind callbacks to struct acpi_scan_handler Rafael J. Wysocki
2014-01-23 13:39 ` [RFC/RFT][PATCH v2 5/6] ACPI / LPSS: Support for device latency tolerance PM QoS Rafael J. Wysocki
2014-01-24 22:31 ` [Update][RFC/RFT][PATCH " Rafael J. Wysocki
2014-01-23 13:40 ` [RFC/RFT][PATCH v2 6/6] PM / QoS: Add type to dev_pm_qos_add_ancestor_request() arguments Rafael J. Wysocki
2014-01-24 14:19 ` Mika Westerberg [this message]
2014-01-24 15:30 ` [RFC/RFT][PATCH v2 0/6] PM / QoS: Introduce latency tolerance device PM QoS type Rafael J. Wysocki
2014-02-06 13:22 ` [PATCH v3 " Rafael J. Wysocki
2014-02-06 13:23 ` [PATCH v3 1/6] PM / QoS: Rename device resume latency QoS items Rafael J. Wysocki
2014-02-06 13:23 ` [PATCH v3 2/6] PM / QoS: Add no_constraints_value field to struct pm_qos_constraints Rafael J. Wysocki
2014-02-06 13:24 ` [PATCH v3 3/6] PM / QoS: Introcuce latency tolerance device PM QoS type Rafael J. Wysocki
2014-02-06 13:25 ` [PATCH v3 4/6] ACPI / scan: Add bind/unbind callbacks to struct acpi_scan_handler Rafael J. Wysocki
2014-02-06 13:26 ` [PATCH v3 5/6] ACPI / LPSS: Support for device latency tolerance PM QoS Rafael J. Wysocki
2014-02-07 1:22 ` [Update][PATCH " Rafael J. Wysocki
2014-02-06 13:27 ` [PATCH v3 6/6] PM / QoS: Add type to dev_pm_qos_add_ancestor_request() arguments 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=20140124141923.GQ18029@intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@rjwysocki.net \
/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.