From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Linux PM <linux-pm@vger.kernel.org>,
Alan Stern <stern@rowland.harvard.edu>,
Kevin Hilman <khilman@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Ulf Hansson <ulf.hansson@linaro.org>
Subject: Re: [PATCH 0/4] PM / core: Direct handling of DPM_FLAG_SMART_SUSPEND and DPM_FLAG_LEAVE_SUSPENDED
Date: Tue, 2 Jan 2018 14:26:25 +0100 [thread overview]
Message-ID: <20180102132625.GA23199@kroah.com> (raw)
In-Reply-To: <2174279.mj3UjPCxfO@aspire.rjw.lan>
On Tue, Jan 02, 2018 at 12:32:55PM +0100, Rafael J. Wysocki wrote:
> On Sunday, December 10, 2017 12:55:23 AM CET Rafael J. Wysocki wrote:
> > Hi All,
> >
> > This series is a follow-up for
> >
> > https://marc.info/?l=linux-doc&m=151101644105835&w=2
> >
> > Patches[1-3/6] from the above have been reviewed and agreed on, so
> > they are in linux-next now and here's a next version of the rest.
> >
> > Patches [1-2/4] are preparatory. The first one is just really small
> > code duplication avoidance on top of this recent fix:
> >
> > https://patchwork.kernel.org/patch/10097563/
> >
> > and the second one simply moves some code to separate functions.
> >
> > Patch [3/4] causes the PM core to carry out some optimizations for
> > drivers of devices with DPM_FLAG_SMART_SUSPEND set whose "late"
> > and "noirq" suspend (or equivalent) driver callbacks are invoked
> > directly by the core.
> >
> > The underlying observation is that if the device is suspended (via
> > runtime PM) during the "late suspend" phase of a system transition,
> > invoking the "late" and "noirq" callbacks from the driver for it is not
> > going to make it more suspended, so to speak, so it doesn't make sense to
> > invoke them at all.
> >
> > [That optimization is only done for devices with DPM_FLAG_SMART_SUSPEND
> > set, because drivers setting that flag are expected to be prepared for
> > skipping their "late" and "noirq" callbacks if the device is already
> > suspended.]
> >
> > Patch [4/4] makes the core do an analogous thing for devices with
> > DPM_FLAG_LEAVE_SUSPENDED set whose "noirq" and "early" resume (or
> > equivalent) driver callbacks are directly invoked by the core.
> >
> > In that case the observation is that if such devices can be left in
> > suspend after the system transition to the working state, running
> > resume callbacks from their drivers is simply not necessary.
> >
> > Pathes [3-4/4] have been reoredered and reworked a bit since the last
> > iteration, so they are regarded as new.
> >
> > The series is on top of the linux-next branch of the linux-pm.git tree
> > that should be merged into linux-next on Monday.
> >
> > [I have developed debug bus type and driver modules to test that code,
> > but they are not ready to be made available at this point.]
>
> While I acknowledge that Ulf doesn't appear to be convinced by my
> arguments, I also see no technical reason why this cannot go in.
>
> As I said during the discussion, I have tested it and it works for me
> as expected. I also need it to make progress on the drivers front.
>
> Moreover, it should not matter for any drivers that don't set the flags
> in question, so the optimizations introduced here are super-easy to avoid
> by leaving those flags unset.
>
> So I'm going to apply the series.
>
> Greg, please let me know if you have objections.
No objection from me at all, please apply.
thanks,
greg k-h
next prev parent reply other threads:[~2018-01-02 13:26 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-09 23:55 [PATCH 0/4] PM / core: Direct handling of DPM_FLAG_SMART_SUSPEND and DPM_FLAG_LEAVE_SUSPENDED Rafael J. Wysocki
2017-12-09 23:56 ` [PATCH 1/4] PM / core: Use dev_pm_skip_next_resume_phases() internally Rafael J. Wysocki
2017-12-11 10:03 ` Geert Uytterhoeven
2017-12-11 10:30 ` Ulf Hansson
2017-12-09 23:58 ` [PATCH 2/4] PM / core: Add helpers for subsystem callback selection Rafael J. Wysocki
2017-12-11 10:08 ` Geert Uytterhoeven
2017-12-10 0:00 ` [PATCH 3/4] PM / core: Direct DPM_FLAG_SMART_SUSPEND optimization Rafael J. Wysocki
2017-12-19 7:38 ` Ulf Hansson
2017-12-19 11:13 ` Rafael J. Wysocki
2017-12-19 11:19 ` Rafael J. Wysocki
2017-12-19 13:15 ` Ulf Hansson
2017-12-19 16:35 ` Rafael J. Wysocki
2017-12-19 13:10 ` Ulf Hansson
2017-12-19 16:29 ` Rafael J. Wysocki
2017-12-19 16:54 ` Rafael J. Wysocki
2017-12-10 0:02 ` [PATCH 4/4] PM / core: Direct DPM_FLAG_LEAVE_SUSPENDED handling Rafael J. Wysocki
2018-01-02 11:32 ` [PATCH 0/4] PM / core: Direct handling of DPM_FLAG_SMART_SUSPEND and DPM_FLAG_LEAVE_SUSPENDED Rafael J. Wysocki
2018-01-02 12:17 ` Ulf Hansson
2018-01-02 12:26 ` Rafael J. Wysocki
2018-01-02 15:57 ` Alan Stern
2018-01-02 13:26 ` Greg Kroah-Hartman [this message]
2018-01-03 0:29 ` [PATCH 0/7] " Rafael J. Wysocki
2018-01-03 0:29 ` Rafael J. Wysocki
2018-01-03 0:31 ` [PATCH 1/7] PM / core: Add helpers for subsystem callback selection Rafael J. Wysocki
2018-01-03 0:32 ` [PATCH 2/7] PM / core: Direct DPM_FLAG_SMART_SUSPEND optimization Rafael J. Wysocki
2018-01-03 0:33 ` [PATCH 3/7] PM / core: Direct DPM_FLAG_LEAVE_SUSPENDED handling Rafael J. Wysocki
2018-01-03 0:34 ` [PATCH 4/7] PM / mfd: intel-lpss: Use DPM_FLAG_SMART_SUSPEND Rafael J. Wysocki
2018-01-03 0:35 ` [PATCH 5/7] PM: i2c-designware-platdrv: Use DPM_FLAG_SMART_PREPARE Rafael J. Wysocki
2018-01-08 14:31 ` Jarkko Nikula
2018-01-08 14:36 ` Wolfram Sang
2018-01-03 0:37 ` [PATCH 6/7] PM: i2c-designware-platdrv: Optimize power management Rafael J. Wysocki
2018-01-08 14:31 ` Jarkko Nikula
2018-01-08 14:36 ` Wolfram Sang
2018-01-03 0:38 ` [PATCH 7/7] PCI / PM: Use SMART_SUSPEND and LEAVE_SUSPENDED flags for PCIe ports Rafael J. Wysocki
2018-01-04 22:14 ` Bjorn Helgaas
2018-01-04 23:28 ` Rafael J. Wysocki
2018-01-08 14:33 ` [PATCH 0/7] PM / core: Direct handling of DPM_FLAG_SMART_SUSPEND and DPM_FLAG_LEAVE_SUSPENDED Jarkko Nikula
2018-01-09 0:29 ` 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=20180102132625.GA23199@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=khilman@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=rjw@rjwysocki.net \
--cc=stern@rowland.harvard.edu \
--cc=ulf.hansson@linaro.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 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.