+ x86_64-fix-last_tsc-calculation-of-pm-timer.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     x86_64: fix last_tsc calculation of PM timer

has been added to the -mm tree.  Its filename is

     x86_64-fix-last_tsc-calculation-of-pm-timer.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: x86_64: fix last_tsc calculation of PM timer
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>


The PM timer code updates vxtime.last_tsc, but this update was done
incorrectly in two ways:
- offset_delay being in microseconds requires multiplying with cpu_mhz
  rather than cpu_khz
- the multiplication of offset_delay and cpu_khz (both being 32-bit
  values) on most current CPUs would overflow (observed value of the
  delay was approximately 4000us, yielding an overflow for frequencies
  starting a little above 1GHz)

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
Signed-off-by: Andi Kleen <ak@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/x86_64/kernel/pmtimer.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/x86_64/kernel/pmtimer.c~x86_64-fix-last_tsc-calculation-of-pm-timer arch/x86_64/kernel/pmtimer.c
--- devel/arch/x86_64/kernel/pmtimer.c~x86_64-fix-last_tsc-calculation-of-pm-timer	2006-05-29 14:16:21.000000000 -0700
+++ devel-akpm/arch/x86_64/kernel/pmtimer.c	2006-05-29 14:16:21.000000000 -0700
@@ -68,7 +68,7 @@ int pmtimer_mark_offset(void)
 	offset_delay = delta % (USEC_PER_SEC / HZ);
 
 	rdtscll(tsc);
-	vxtime.last_tsc = tsc - offset_delay * cpu_khz;
+	vxtime.last_tsc = tsc - offset_delay * (u64)cpu_khz / 1000;
 
 	/* don't calculate delay for first run,
 	   or if we've got less then a tick */
_

Patches currently in -mm which might be from jbeulich@xxxxxxxxxx are

i386-apic=-command-line-option-should-always-be.patch
x86_64-fix-last_tsc-calculation-of-pm-timer.patch
dprintk-adjustments-to-cpufreq-nforce2.patch
dprintk-adjustments-to-cpufreq-speedstep-centrino.patch
cpufreq-dprintk-adjustments.patch
fix-recovery-path-from-errors-during-pcie_init.patch
mpt_interrupt-should-return-irq_none-when.patch
x86_64-reliable-stack-trace-support-i386-fix.patch
fix-x86-microcode-driver-handling-of-multiple-matching.patch
adjust-handle_irr_event-return-type.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux