kern/181632: 9.2-RC3 - on resume from suspend, disk operations are slower
Andriy Gapon
avg at FreeBSD.org
Sun Sep 1 06:50:01 UTC 2013
The following reply was made to PR kern/181632; it has been noted by GNATS.
From: Andriy Gapon <avg at FreeBSD.org>
To: Mike Harding <mvharding at gmail.com>, bug-followup at FreeBSD.org
Cc:
Subject: Re: kern/181632: 9.2-RC3 - on resume from suspend, disk operations
are slower
Date: Sun, 01 Sep 2013 09:39:46 +0300
on 31/08/2013 20:05 Mike Harding said the following:
> I reverted the single line at
>
> http://svnweb.freebsd.org/base/stable/9/sys/dev/acpica/acpi_cpu.c?annotate=244616&pathrev=244616#l978
Thank you for narrowing this down!
> Given that the code says
>
> /* If disabled, take the safe path. */
> 977 if (is_idle_disabled(sc)) {
> 978 acpi_cpu_c1();
> 979 return;
> 980 }
>
>
> and then does a 'hlt' or idle if idle is disabled, this might be a problem.
But it should not be a problem.
First, is_idle_disabled should not be normally set. It is supposed to be set
only during short transitional periods. So it would be useful to understand why
it is set (after resume) and makes the difference.
Second, "idle is disabled" means that the ACPI C-state machine is disabled, not
that the system must not idle at all. In fact, being in this function
(acpi_cpu_idle) means that the system explicitly wants to idle. Using hlt to
idle is the right / normal / safe thing. Not using hlt means that the system
keeps burning cycles even when it has nothing to do. So with your change you
should observe increased power consumption and heat production.
So, this is another mystery as to why the perfectly normal use of hlt affects
your system so badly.
P.S. I hope that you noticed a list of things to look at in my previous followup
to this PR.
--
Andriy Gapon
More information about the freebsd-bugs
mailing list