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);
        }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to