svn commit: r211292 - in head/sys/amd64: acpica amd64
Jung-uk Kim
jkim at FreeBSD.org
Fri Aug 13 22:08:43 UTC 2010
Author: jkim
Date: Fri Aug 13 22:08:42 2010
New Revision: 211292
URL: http://svn.freebsd.org/changeset/base/211292
Log:
Reset switchtime to zero rather than the current CPU ticker (TSC) value.
It is more appropriate in this context because TSC MSR is reset to zero
when the CPU is restarted from S3 and above. Move acpi_resync_clock() back
to where it was before r211202. It does not make a difference any more.
Modified:
head/sys/amd64/acpica/acpi_wakeup.c
head/sys/amd64/amd64/mp_machdep.c
Modified: head/sys/amd64/acpica/acpi_wakeup.c
==============================================================================
--- head/sys/amd64/acpica/acpi_wakeup.c Fri Aug 13 21:23:13 2010 (r211291)
+++ head/sys/amd64/acpica/acpi_wakeup.c Fri Aug 13 22:08:42 2010 (r211292)
@@ -278,13 +278,13 @@ acpi_sleep_machdep(struct acpi_softc *sc
for (;;)
ia32_pause();
} else {
- acpi_resync_clock(sc);
- PCPU_SET(switchtime, cpu_ticks());
+ PCPU_SET(switchtime, 0);
PCPU_SET(switchticks, ticks);
#ifdef SMP
if (wakeup_cpus != 0)
acpi_wakeup_cpus(sc, wakeup_cpus);
#endif
+ acpi_resync_clock(sc);
ret = 0;
}
Modified: head/sys/amd64/amd64/mp_machdep.c
==============================================================================
--- head/sys/amd64/amd64/mp_machdep.c Fri Aug 13 21:23:13 2010 (r211291)
+++ head/sys/amd64/amd64/mp_machdep.c Fri Aug 13 22:08:42 2010 (r211292)
@@ -1366,7 +1366,7 @@ cpususpend_handler(void)
wbinvd();
atomic_set_int(&stopped_cpus, cpumask);
} else {
- PCPU_SET(switchtime, cpu_ticks());
+ PCPU_SET(switchtime, 0);
PCPU_SET(switchticks, ticks);
}
More information about the svn-src-head
mailing list