Bug 227388

Summary: [cpufreq] [patch] Most newer Pentium M ULV frequency tables doesn't finished correctly
Product: Base System Reporter: Vladimir Machulsky <xdelta>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Some People CC: cem
Priority: --- Keywords: patch
Version: 11.1-STABLE   
Hardware: i386   
OS: Any   
Attachments:
Description Flags
est.c patch none

Description Vladimir Machulsky 2018-04-09 12:08:00 UTC
Created attachment 192359 [details]
est.c patch

I've installed FreeBSD 11.1 onto Fujitsu Siemens P7120 with Pentium M 753 ULV 1.2GHz inside. In result: system refused to run powerd, sometime system crashes (mostly after executing "reboot" or "sysctl -a"), messages "tsc_levels_changed: no max freq found" and "cpufreq: need to increase CF_MAX_LEVELS" are appeared on console. "sysctl dev.est.0.freq_settings" output:

dev.est.0.freq_settings: 1200/-1 1100/-1 1000/-1 900/-1 800/-1 600/-1 1200/-1 11
00/-1 1000/-1 900/-1 800/-1 600/-1 1200/-1 1100/-1 1000/-1 900/-1 800/-1 600/-1
1200/-1 1100/-1 1000/-1 900/-1 800/-1 600/-1 1200/-1 1100/-1 1000/-1 900/-1 800/
-1 600/-1 1100/-1 1000/-1 900/-1 800/-1 600/-1 1100/-1 1000/-1 900/-1 800/-1 600
/-1 1100/-1 1000/-1 900/-1 800/-1 600/-1 1100/-1 1000/-1 900/-1 800/-1 600/-1 11
00/-1 1000/-1 900/-1 800/-1 600/-1 1100/-1 1000/-1 900/-1 800/-1 600/-1 1100/-1
1000/-1 900/-1 800/-1 600/-1

As turned out, some frequency tables, including one for "Pentium M 753 ULV 1.2GHz" have no finalization line "FREQ_INFO(   0,    0, 1)".

After applying patch - all mentioned symptomps are disappeared.
Comment 1 commit-hook freebsd_committer freebsd_triage 2018-04-14 03:15:32 UTC
A commit references this bug:

Author: cem
Date: Sat Apr 14 03:15:05 UTC 2018
New revision: 332498
URL: https://svnweb.freebsd.org/changeset/base/332498

Log:
  cpufreq: Remove error-prone table terminators in favor of automatic sizing

  PR:		227388
  Reported by:	Vladimir Machulsky <xdelta AT meta.ua>
  Sponsored by:	Dell EMC Isilon

Changes:
  head/sys/x86/cpufreq/est.c