projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
cpuidle: Set polling in poll_idle
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
cpuidle
/
driver.c
diff --git
a/drivers/cpuidle/driver.c
b/drivers/cpuidle/driver.c
index 136d6a283e0a3818846eab4e78e7e9245b7d6f07..9634f20e392611b32349aaa348aa3980f2344ecd 100644
(file)
--- a/
drivers/cpuidle/driver.c
+++ b/
drivers/cpuidle/driver.c
@@
-187,8
+187,11
@@
static int poll_idle(struct cpuidle_device *dev,
t1 = ktime_get();
local_irq_enable();
- while (!need_resched())
- cpu_relax();
+ if (!current_set_polling_and_test()) {
+ while (!need_resched())
+ cpu_relax();
+ }
+ current_clr_polling();
t2 = ktime_get();
diff = ktime_to_us(ktime_sub(t2, t1));