linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ACPI: Fix the incorrect calculation about C-state idle time
@ 2010-06-02  3:04 yakui.zhao
  2010-06-02 15:06 ` Matthew Garrett
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: yakui.zhao @ 2010-06-02  3:04 UTC (permalink / raw)
  To: lenb; +Cc: linux-acpi, Zhao Yakui, Venkatesh Pallipadi

From: Zhao Yakui <yakui.zhao@intel.com>

The C-state idle time is not calculated correctly, which will return the wrong
residency time in C-state. It will have the following effects:
   1.  The system can't choose the deeper C-state when it is idle next time.
Of course the system power is increased. E.g. On one server machine about 40W
idle power is increased.
   2.  The powertop shows that it will stay in C0 running state about 95% time
although the system is idle at most time.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reported-by: Yu Zhidong <zhidong.yu@intel.com>
Tested-by: Yu Zhidong <zhidong.yu@intel.com>
CC: Venkatesh Pallipadi <venki@google.com>
---
 drivers/acpi/processor_idle.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 2e8c27d..6b38a6b 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -1022,7 +1022,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
 		spin_unlock(&c3_lock);
 	}
 	kt2 = ktime_get_real();
-	idle_time_ns = ktime_to_us(ktime_sub(kt2, kt1));
+	idle_time_ns = ktime_to_ns(ktime_sub(kt2, kt1));
 	idle_time = idle_time_ns;
 	do_div(idle_time, NSEC_PER_USEC);
 
-- 
1.5.4.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-06-04  7:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-02  3:04 [PATCH] ACPI: Fix the incorrect calculation about C-state idle time yakui.zhao
2010-06-02 15:06 ` Matthew Garrett
2010-06-03  1:06   ` ykzhao
2010-06-03  1:39     ` Matthew Garrett
2010-06-02 16:28 ` Venkatesh Pallipadi
2010-06-03  5:42   ` Len Brown
2010-06-02 16:29 ` Venkatesh Pallipadi
2010-06-04  7:35 ` Len Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).