Thread (15 messages) 15 messages, 4 authors, 2015-03-04
DORMANTno replies

[PATCH] cpuidle: mvebu: Fix the CPU PM notifier usage

From: Rafael J. Wysocki <hidden>
Date: 2015-03-04 14:53:11
Also in: linux-pm

On Tuesday, March 03, 2015 04:20:26 PM Daniel Lezcano wrote:
On 03/03/2015 03:58 PM, Fulvio wrote:
quoted
quoted
I didn't know you experimented random kernel panics and that you thought
it was related to the CPU Idle driver.
quoted
All i can say is that the system use the "armadaxp_idle" driver and
works fine when running "stress --cpu 8" in background.
I asked Netgear to provide a firmware without the idle driver to
confirm if it's the cause of the problem, but they did not answered.
I think that if you disable all the state using by doing an

echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/stateNUM/disable

where NUM is the nuymbert of the state. Then it should disable the
cpuidle on the fly.
Thanks, i'll try that as soon as possible (i gave back the unit to my
client) and report back.

However, the description of the cpu_pm_enter function state:
"Must be called on the affected CPU with interrupts disabled.  Platform
is responsible for ensuring that cpu_pm_enter is not called twice on the
same CPU before cpu_pm_exit is called. Notified drivers can include VFP
co-processor, interrupt controller and its PM extensions, local CPU
timers context save/restore which shouldn't be interrupted. Hence it
must be called with interrupts disabled."

and the point is: it that an invariant? Do current code and future code
safely assume that cpu_pm_enter is not called twice?
The fix is correct. The cpu_pm_enter/exit symmetry must be kept because 
we don't know what the notifier clients are doing.

The point is : can we send it to stable@ as a bug fix or not ?
Yes, we can, unless there's a risk of breaking things that cannot be
ignored.


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help