kern/181632: 9.2-RC3 - on resume from suspend, disk operations are slower

Andriy Gapon avg at
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>
To: Mike Harding <mvharding at>, bug-followup at
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
 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