projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
x86/idle: Restore trace_cpu_idle to mwait_idle() calls
[linux-2.6-block.git]
/
arch
/
x86
/
kernel
/
process.c
diff --git
a/arch/x86/kernel/process.c
b/arch/x86/kernel/process.c
index 397688beed4be5ce7d9445d7847d44613d2d84b5..c27cad7267655c3794972344adf0b7924e38c138 100644
(file)
--- a/
arch/x86/kernel/process.c
+++ b/
arch/x86/kernel/process.c
@@
-408,6
+408,7
@@
static int prefer_mwait_c1_over_halt(const struct cpuinfo_x86 *c)
static void mwait_idle(void)
{
if (!current_set_polling_and_test()) {
static void mwait_idle(void)
{
if (!current_set_polling_and_test()) {
+ trace_cpu_idle_rcuidle(1, smp_processor_id());
if (this_cpu_has(X86_BUG_CLFLUSH_MONITOR)) {
smp_mb(); /* quirk */
clflush((void *)¤t_thread_info()->flags);
if (this_cpu_has(X86_BUG_CLFLUSH_MONITOR)) {
smp_mb(); /* quirk */
clflush((void *)¤t_thread_info()->flags);
@@
-419,6
+420,7
@@
static void mwait_idle(void)
__sti_mwait(0, 0);
else
local_irq_enable();
__sti_mwait(0, 0);
else
local_irq_enable();
+ trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
} else {
local_irq_enable();
}
} else {
local_irq_enable();
}