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-all mailing list