EST(4)

πŸ’– EST πŸ’– β€” bestie edition

okay so this is the manual page for est, aka Enhanced Speedstep Technology, from the Kernel Interfaces Manual. it's a whole vibe, it's giving "your CPU but make it choose its own energy level" ✨


🌸 NAME 🌸

est β€” Enhanced Speedstep Technology πŸ¦‹


✨ SYNOPSIS ✨

so like, if you want this capability living inside your kernel, you drop this line into your kernel configuration file:

device cpufreq

that's it. that's the whole thing. πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

the est interface is what gives you support for the Intel Enhanced Speedstep Technology. iconic behavior fr fr.

lowkey important though: est capabilities are automatically loaded by the cpufreq(4) driver. you don't gotta do anything. it just shows up. main character energy πŸŽ€


πŸŽ€ LOADER TUNABLES πŸŽ€

the whole point of the est interface is to let cpufreq(4) access and implement Intel Enhanced SpeedStep Technology via acpi(4) and the acpi_perf interface accessors. iykyk.

and listen β€” if the default settings are not optimal for you, these following sysctls can be used to modify or monitor est behavior. obsessed with options tbh.

  • hw.est.msr_info β€” attempts to infer information from direct probing of the msr. bestie, this should only be used in diagnostic cases. like, only only. (default 0)
  • hw.est.strict β€” validates that the frequency requested is accepted by the CPU when set. it appears that this will only work on single core cpus. so yeah. (default 0)

πŸ’… SYSCTL VARIABLES πŸ’…

the following sysctl(8) values are available. get into it:

  • dev.est.%d.%desc β€” description of support, almost always Enhanced SpeedStep Frequency Control.
dev.est.0.%desc: Enhanced SpeedStep Frequency Control
  • dev.est.%d.%driver β€” driver in use, always est.
dev.est.0.%driver: est
  • dev.est.%d.%parent β€” the CPU that is exposing these frequencies. for example cpu0.
dev.est.0.%parent: cpu0
  • dev.est.%d.freq_settings. β€” the valid frequencies that are allowed by this CPU and their step values. this is the good stuff πŸ”₯
dev.est.0.freq_settings: 2201/45000 2200/45000 2000/39581 1900/37387
        1800/34806 1700/32703 1600/30227 1500/28212 1400/25828
        1300/23900 1200/21613 1100/19775 1000/17582 900/15437 800/13723

😭 DIAGNOSTICS 😭

est%d: <Enhanced SpeedStep Frequency Control> on cpu%d

indicates normal startup of this interface. slay, everything's fine, we love a healthy attach 🫢


est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 471c471c0600471c
device_attach: est%d attach returned 6

okay so this one means all attempts to attach to this interface have failed. πŸ’€

this usually indicates an improper BIOS setting restricting O/S control of the CPU speeds. consult your BIOS documentation for more details. no cap, go read the BIOS docs.

🌈 COMPATIBILITY 🌈

est is only found on supported Intel CPUs. if you're not on one of those... yeah. not for you bestie πŸ™ˆ


⭐ SEE ALSO ⭐


πŸ‘‘ AUTHORS πŸ‘‘

this manual page was written by Sean Bruno <sbruno@FreeBSD.org>. thank you for your service king πŸ«‘πŸ’–


and that's the whole page!! this one came from Debian, dated April 21, 2020, and it's the EST(4) page β€” go forth and let your CPU pick its own frequency, periodt πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from