From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
preeti@linux.vnet.ibm.com
Subject: Re: [PATCH 0/2] drivers: cpuidle: minor suspend-to-idle fixes
Date: Fri, 27 Feb 2015 10:00:00 +0000 [thread overview]
Message-ID: <20150227100000.GA5975@red-moon> (raw)
In-Reply-To: <4425438.YlYNQyf1hp@vostro.rjw.lan>
[CC'ed Preeti]
On Thu, Feb 26, 2015 at 11:37:54PM +0000, Rafael J. Wysocki wrote:
> Me versions of the two $subject patches follow.
Thank you. I am testing them and I have run into the following issue.
Starting with:
3810631 ("PM / sleep: Re-implement suspend-to-idle handling")
the suspend-to-idle code path in the cpuidle_idle_call() bypasses
the CPUIDLE_FLAG_TIMER_STOP code path entirely. Now, on most of
the current ARM platforms, the deepest idle state loses the tick device
context, therefore this means that going to idle through
suspend-to-idle becomes a brute force way of nuking the tick,
unless I am missing something here.
I am experiencing hangs on resume from suspend-to-idle when the broadcast
timer is the broadast-hrtimer (ie there is no HW broadcast timer in the
platform) and the deepest idle states lose the tick device context (ie
they are CPUIDLE_FLAG_TIMER_STOP), I hope Preeti can help me test this on
Power, still chasing the issue.
I could not reproduce the issue with a HW broadcast timer device.
Platform has deepest idle states that allow CPUs shutdown where the
local tick device is gone on entry, I am trying to provide you with a
backtrace, I need time to debug.
The question I have: is it safe to bypass the CPUIDLE_FLAG_TIMER_STOP
and related broadcast mode entry/exit in the suspend-to-idle path ?
I do not think it is, but I am asking.
I can "force" tick freeze by initializing the enter_freeze pointer
in the idle states (that's the next thing I will test), but still, for
platforms where that's not possible my question above is still valid.
Thanks,
Lorenzo
next prev parent reply other threads:[~2015-02-27 10:00 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-24 17:58 [PATCH 0/2] drivers: cpuidle: minor suspend-to-idle fixes Lorenzo Pieralisi
2015-02-24 17:58 ` [PATCH 1/2] drivers: cpuidle: remove stale irq disabling call in cpuidle_enter_freeze() Lorenzo Pieralisi
2015-02-25 14:13 ` Daniel Lezcano
2015-02-25 14:39 ` Lorenzo Pieralisi
2015-02-25 23:36 ` Rafael J. Wysocki
2015-02-26 9:48 ` Lorenzo Pieralisi
2015-02-26 16:39 ` Rafael J. Wysocki
2015-02-24 17:58 ` [PATCH 2/2] drivers: cpuidle: add driver/device checks " Lorenzo Pieralisi
2015-02-25 14:30 ` Daniel Lezcano
2015-02-25 14:47 ` Lorenzo Pieralisi
2015-02-25 23:50 ` Rafael J. Wysocki
2015-02-26 0:35 ` Rafael J. Wysocki
2015-02-25 14:56 ` Lorenzo Pieralisi
2015-02-26 23:37 ` [PATCH 0/2] drivers: cpuidle: minor suspend-to-idle fixes Rafael J. Wysocki
2015-02-26 23:39 ` [PATCH 1/2] idle / sleep: Avoid excessive interrupts disabling and enabling Rafael J. Wysocki
2015-02-26 23:39 ` [PATCH 2/2] cpuidle / sleep: Do sanity checks in cpuidle_enter_freeze() too Rafael J. Wysocki
2015-02-27 8:41 ` [PATCH 0/2] drivers: cpuidle: minor suspend-to-idle fixes Peter Zijlstra
2015-02-27 10:00 ` Lorenzo Pieralisi [this message]
2015-02-27 22:11 ` Rafael J. Wysocki
2015-02-28 11:54 ` Lorenzo Pieralisi
2015-02-28 23:58 ` Rafael J. Wysocki
2015-03-02 10:08 ` Lorenzo Pieralisi
2015-03-02 13:13 ` Rafael J. Wysocki
2015-03-02 14:50 ` [PATCH 0/2] cpuidle / sleep: fix timer stopping regression (was: drivers: cpuidle: minor suspend-to-idle fixes) Rafael J. Wysocki
2015-03-02 14:51 ` [PATCH 1/2] cpuidle: Clean up fallback handling in cpuidle_idle_call() Rafael J. Wysocki
2015-03-02 16:05 ` Lorenzo Pieralisi
2015-03-02 22:30 ` Rafael J. Wysocki
2015-03-02 14:53 ` [PATCH 2/2] cpuidle / sleep: Use broadcast timer for states that stop local timer Rafael J. Wysocki
2015-03-02 16:27 ` Lorenzo Pieralisi
2015-03-02 22:28 ` 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=20150227100000.GA5975@red-moon \
--to=lorenzo.pieralisi@arm.com \
--cc=daniel.lezcano@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=preeti@linux.vnet.ibm.com \
--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.