diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2015-09-12 07:52:28 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2015-09-12 07:52:28 +0000 |
commit | 58f8d3a89cc986dd318de97915edc5ce9a8205cf (patch) | |
tree | 48463604ec4fd327ef598cc61c30ccf503559b28 /sys/dev/acpi | |
parent | d2308145e7148932813f4a27f463ad475e9321b7 (diff) |
Intel docs suggest that cpus in C3 may go into deeper states automatically
when all cores are in C3, so treat the latency+power values from ACPI as
advisory and stop skipping states based on them.
ok mlarkin@ kettenis@
Diffstat (limited to 'sys/dev/acpi')
-rw-r--r-- | sys/dev/acpi/acpicpu.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/sys/dev/acpi/acpicpu.c b/sys/dev/acpi/acpicpu.c index 8206adf95a9..472d02ec1fc 100644 --- a/sys/dev/acpi/acpicpu.c +++ b/sys/dev/acpi/acpicpu.c @@ -1,4 +1,4 @@ -/* $OpenBSD: acpicpu.c,v 1.69 2015/09/11 22:44:30 guenther Exp $ */ +/* $OpenBSD: acpicpu.c,v 1.70 2015/09/12 07:52:27 guenther Exp $ */ /* * Copyright (c) 2005 Marco Peereboom <marco@openbsd.org> * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org> @@ -510,19 +510,14 @@ acpicpu_getcst(struct acpicpu_softc *sc) return (1); /* - * Scan the list for states that are neither lower power nor - * lower latency than the next state; mark them to be skipped. - * Also skip states >=C2 if the CPU's LAPIC timer stops in deep + * Skip states >= C2 if the CPU's LAPIC timer stops in deep * states (i.e., it doesn't have the 'ARAT' bit set). * Also keep track if all the states we'll use use mwait. */ use_nonmwait = 0; while ((next_cx = SLIST_NEXT(cx, link)) != NULL) { - if ((next_cx->power != -1 && - cx->power >= next_cx->power && - cx->latency >= next_cx->latency) || - (cx->state > 1 && - (sc->sc_ci->ci_feature_tpmflags & TPM_ARAT) == 0)) + if (cx->state > 1 && + (sc->sc_ci->ci_feature_tpmflags & TPM_ARAT) == 0) cx->flags |= CST_FLAG_SKIP; else if (cx->method != CST_METH_MWAIT) use_nonmwait = 1; |