[Fwd: [patch] intel_idle: Delete meaningless local_irq_disable()call in intel_idle.c.]

From: Yanmin Zhang
Date: Sun Dec 25 2011 - 20:30:41 EST


Would you like to accept the patch into your testing tree?


-------- Forwarded Message --------
From: Zhang, MingmingX <mingmingx.zhang@xxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx <linux-kernel@xxxxxxxxxxxxxxx>
Cc: yanmin_zhang@xxxxxxxxxxxxxxx <yanmin_zhang@xxxxxxxxxxxxxxx>, Li,
Shaohua <shaohua.li@xxxxxxxxx>, Brown, Len <len.brown@xxxxxxxxx>
Subject: [patch] intel_idle: Delete meaningless local_irq_disable() call
in intel_idle.c.
Date: Fri, 23 Dec 2011 01:57:29 +0000

From: mzha38X <mingmingx.zhang@xxxxxxxxx>

intel_idle.c is a bit misleading in a sense that local_irq_disable,it
actually does nothing. Real irq disable happens earlier in process_32.c:cpu_idle.
Basically, cpuidle_state->enter is called, cpu irq is disabled.
cpuidle_state->enter would turn on irq when exiting.

intel_idle doesn't follow this assumption. Although it doesn't
cause real issue, it misleads developers. Below patch deletes
the calling to local_irq_disable() at entry.

Signed-off-by: mzha38X <mingmingx.zhang@xxxxxxxxx>
drivers/idle/intel_idle.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
index 5d2f8e1..28f0394 100644
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@ -247,8 +247,6 @@ static int intel_idle(struct cpuidle_device *dev,

cstate = (((eax) >> MWAIT_SUBSTATE_SIZE) & MWAIT_CSTATE_MASK) + 1;

- local_irq_disable();
* leave_mm() to avoid costly and often unnecessary wakeups
* for flushing the user TLB's associated with the active mm.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/