Bug 243249 - FreeBSD 12.1 ThinkPad X201 20 second delay during resume
Summary: FreeBSD 12.1 ThinkPad X201 20 second delay during resume
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 12.1-RELEASE
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2020-01-10 16:11 UTC by Jason W. Bacon
Modified: 2020-02-09 15:57 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason W. Bacon freebsd_committer freebsd_triage 2020-01-10 16:11:36 UTC
A nuisance issue that appeared in 12.0 and continues in 12.1.

Suspend/resume basically works fine, but the system hangs for 20 seconds between 

iwn0: iwn_read_firmware: ucode rev=0x09dd0401

and

uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0

Running 11.x, resume was very quick.

I'm not too concerned about it, but maybe investigating this issue will uncover solutions for more serious problems.  One more data point...
Comment 1 Ed Maste freebsd_committer freebsd_triage 2020-01-10 18:52:27 UTC
Is there any chance you can bisect between the fast and slow versions?
Comment 2 Jason W. Bacon freebsd_committer freebsd_triage 2020-01-11 16:23:50 UTC
(In reply to Ed Maste from comment #1)

Yes, but not real soon.  I have to finish up some projects, after which I can try an 11.3 install on a spare disk.

For now I'll add that I don't see this behavior on a ThinkPad T61 (which also uses iwn) or ThinkPad X120e (rtwn).
Comment 3 Jason W. Bacon freebsd_committer freebsd_triage 2020-01-26 16:01:37 UTC
I should have an 11.3 install running shortly.

What specific info should I provide?
Comment 4 Jason W. Bacon freebsd_committer freebsd_triage 2020-02-09 15:57:27 UTC
Homed in on the issue by disabling all non-essential modules in /boot/loader.conf and services /etc/rc.conf, which alleviated the issue, then restoring them one by one.

The delay appears to be tied to kernel frequency.

I had set kern.hz=100 in loader.conf to extend battery life.  I've been doing this on laptops and it has never had a negative impact, until I upgraded to 12.x on the ThinkPad X201.

After removing this and restoring all other modules and servies, the delay is about 2 seconds rather than 20.  So increasing the kernel frequency by a factor of 10 (default is 1000) reduces the delay by a factor of 10.