git: kernel/acpi_timer: Lower the bar for ACPI-fast on real and virtual machines.

Sascha Wildner swildner at crater.dragonflybsd.org
Sat Aug 2 19:32:14 PDT 2014


commit a6874b57cad295218fc2f87145b54bf48c4ab076
Author: Sascha Wildner <saw at online.de>
Date:   Sun Aug 3 04:27:51 2014 +0200

    kernel/acpi_timer: Lower the bar for ACPI-fast on real and virtual machines.
    
    This brings in FreeBSD's revisions 220331-220369:
    
    r220369 | jkim | 2011-04-05 20:40:19 +0200 (Tue, 05 Apr 2011) | 6 lines
    
    Lower the bar for ACPI-fast on real machines slightly.  Empirical evidences
    show that there are perfectly working PM timers with occasional "hiccups",
    probably because of an SMI.  Now we ignore the maximum if it happens once in
    the test loop and the width is small enough.  Also, relax normal width a bit
    to count in a boundary case.
    
    ------------------------------------------------------------------------
    r220336 | jkim | 2011-04-04 19:44:26 +0200 (Mon, 04 Apr 2011) | 3 lines
    
    Always check the current minimum value to make the test more predictable.
    Use INT32_MAX instead of an arbitrary big number for the initial minimum.
    
    ------------------------------------------------------------------------
    r220333 | jkim | 2011-04-04 19:00:50 +0200 (Mon, 04 Apr 2011) | 5 lines
    
    Lower the bar for ACPI-fast on virtual machines.  The current logic depends
    on the fact that real hardware has almost fixed cost to read the ACPI timer.
    It is virtually always false for hardware emulation and it makes no sense to
    read it multiple times, which is already quite expensive for full emulation.
    
    ------------------------------------------------------------------------
    r220331 | jkim | 2011-04-04 18:47:42 +0200 (Mon, 04 Apr 2011) | 2 lines
    
    Add inline to acpi_timer_read() to reduce unnecessary jumps and calls.

Summary of changes:
 sys/dev/acpica/acpi_timer.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a6874b57cad295218fc2f87145b54bf48c4ab076


-- 
DragonFly BSD source repository



More information about the Commits mailing list