[Bug 217247] [acpi] r265474 makes 11.0R unusable with Atom 330
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Feb 20 10:25:49 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217247
Bug ID: 217247
Summary: [acpi] r265474 makes 11.0R unusable with Atom 330
Product: Base System
Version: 11.0-RELEASE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: freebsd-bugs at FreeBSD.org
Reporter: stephane_freebsd at lesimple.fr
After upgrading my FreeBSD-based firewall from 10.3R to 11.0R, the boot time
(from power-on to the login prompt) rocketed from ~1 minute to more than 45
minutes, and even when up, the system was extremely slow. The loadavg was >2,
with no process really taking that much CPU time, and the number of IRQ was not
too high (200-300 per sec) even if 20% of the time was spent in IRQ.
To rule out any oddity with my system config, I reproduced the problem with the
bare official FreeBSD-10.3-RELEASE-amd64-memstick.img where the kernel takes
20s to boot, and FreeBSD-11.0-RELEASE-amd64-memstick.img takes more than 8
minutes, from "Booting..." to the login prompt.
So, it took me several days of manual bisecting-compiling-memstick-booting, and
I finally found the culprit: base r265474
The diff is pretty straightforward, in /etc/defaults/rc.conf:
-performance_cx_lowest="HIGH" # Online CPU idle state
+performance_cx_lowest="Cmax" # Online CPU idle state
-economy_cx_lowest="HIGH" # Offline CPU idle state
+economy_cx_lowest="Cmax" # Offline CPU idle state
If I override these values by putting HIGH back in /etc/rc.conf.local, the
problem disappears.
I was able to manually confirm that if I set dev.cpu.N.cx_lowest to C2 (or C3),
the system is horribly slow and sluggish, and back to C1 ("HIGH"), it's usable
again.
The commit message indicates that "This may not stay through 11.0-RELEASE, but
at least having it on by default in -HEAD will expose (more) issues with broken
hardware", so I guess my hardware is broken, even if I didn't observe such
behavior previously under other OSes (namely Linux). I can imagine that anybody
else booting FreeBSD 11.0 under such hardware would just give up, so it might
be a good idea to detect this CPU on install and keep cx_lowest at C1?
root at fw:~ # sysctl hw.machine hw.model dev.cpu.0
hw.machine: amd64
hw.model: Intel(R) Atom(TM) CPU 330 @ 1.60GHz
dev.cpu.0.cx_method: C1/hlt C2/io C3/io
dev.cpu.0.cx_usage_counters: 10731 0 0
dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 4432us
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_supported: C1/1/0 C2/2/1 C3/3/85
dev.cpu.0.%parent: acpi0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%location: handle=\_PR_.P001
dev.cpu.0.%driver: cpu
dev.cpu.0.%desc: ACPI CPU
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list