Intel Turbo Boost

Bizarro252

Dabbler
Joined
Jul 1, 2019
Messages
36
Hello!
I have yet to see my processor turbo, and while its not critical - I do use this system to not only host but serve my media and having this enabled would help for media that needs to transcode.

Digging around I found this thread where @cyberjock states that due to ZFS being multithreaded turboboost wont do to much, but this was in 2014 when I believe turboboost was only affecting single core speeds. Today, at least in Intel 9th gen all cores can boost, it just tapers down the boost multiplier as more cores are loaded so even in multithreaded workloads turbo boost is more valid today than in 2014.
https://www.ixsystems.com/community/threads/enabling-turbo-boost.24665/

I checked the command given in this article (https://www.ateamsystems.com/tech-blog/increase-freebsd-performance-with-powerd/ ) and FreeNAS is indeed seeing that I have it enabled and available but it doesnt ever move from the base clock.

I have NOT tried enabling the powerd yet as I wanted to check here first since I can find only old references for it talking about turning on the service in the GUI, this is not available in the latest versions of FreeNAS.

Looking for an updated take on enabling this and any risks.

Also, regarding the note when you fire up a SSH to FreeNAS it states any config changes will be lost after a reboot, does this include things like what would be required here where you are adding lines to rc.conf? I am not real clear on what types of changes do not hold through a reboot and what do via the CLI.

Thank you!
 

Bizarro252

Dabbler
Joined
Jul 1, 2019
Messages
36
Hrm, well I gave it a shot just to see if it would even move the freq around between idle and load and no change, it seems to think 3601 is the max, dinked around in BIOS and everything looks right, FreeNAS shows the cores have it enabled... Ideas?

Code:
root@freenas[~]# sysctl dev.cpu.0.freq
dev.cpu.0.freq: 3601
root@freenas[~]# grep -i speedstep /var/run/dmesg.boot
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est2: <Enhanced SpeedStep Frequency Control> on cpu2
est3: <Enhanced SpeedStep Frequency Control> on cpu3
root@freenas[~]# sysctl dev.cpu.0.freq_levels
dev.cpu.0.freq_levels: 3601/65000 3600/65000 3400/59714 3200/54621 3000/50333 28                                                                                                                                                             00/45599 2600/41625 2400/37247 2200/33588 2000/29539 1800/26190 1600/22466 1400/                                                                                                                                                             18910 1200/15997 1000/12745 800/10111
 

Bizarro252

Dabbler
Joined
Jul 1, 2019
Messages
36
OKy doke, put things back the way they were in rc.conf and found the 11.2U5 docs actually still do have this setting in the GUI but only on the legacy GUI.... Turned it on and it works now, sortof, it only reduces speed still no boost.
Wondering why it would be removed from the new GUI? And if I am missing something to allow boost states not just downclock states.

Thanks!

https://www.ixsystems.com/documentation/freenas/11.2-U5-legacy/system.html#advanced
 

Bizarro252

Dabbler
Joined
Jul 1, 2019
Messages
36
Looks like it is already enabled which is why it was removed from the new UI: https://redmine.ixsystems.com/issues/49398.
@dlavigne thanks. Weird though since my cpu would not downclock at all until I checked it in the legacy gui then it did.
I have since turned it back off as what was being discussed in that issue report you linked I also noticed no temp or real power benefit from allowing it to downclock (maybe 1 degree C).

However I am still not seeing it ever boost even under heavy loads like transcoding. I checked BIOS and even flipped turboboost settings from Auto to force enable.

I see FreeNAS sees the option and says it's enabled but just never boosts.

Not the end of the world but would like to allow the processor to run to full spec if I can.

Thanks
 

angyp

Dabbler
Joined
Jun 25, 2017
Messages
15
@Bizarro252 Did you ever get this sorted out? I have an i3 9100 on a super micro board and have the same thing happening.
 

mav@

iXsystems
iXsystems
Joined
Sep 29, 2011
Messages
1,428
What "same thing"? Turbo Boos is invisible for OS, unless it explicitly fetches respective CPU statistics. In the freq_levels sysctl shown above can be seen two frequency different only by 1MHz. The real difference between those is that the bigger one allows CPU to use TurboBoost when it considers possible. On the new FreeNAS versions powerd was removed and frequency is explicitly set to the top on boot, while CPU power saving is done via use of C-states, also enabled by default.
 

angyp

Dabbler
Joined
Jun 25, 2017
Messages
15
Yeah right well, I recently upgraded to 11.3U1 from 11.2U7 before the upgrade in the legacy GUI power saving was ticked. Looks like powerd is still running. Should I try and disable it and let the C-states take care of it? If so how would I and then confirm C-states are doing what they are meant to?
root@freenas:~ # ps -aux | grep powerd
root 1410 0.0 0.0 6344 2168 - Ss Mon14 1:01.87 /usr/sbin/powerd

root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 3601
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 3600
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 3200
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 2800
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 2600
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 2000
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 1800
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 1400
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 2200
 

mav@

iXsystems
iXsystems
Joined
Sep 29, 2011
Messages
1,428
It should not harm much, but that is weird. Use of C-states you can see with `sysctl dev.cpu | grep cx_usage`.
 

angyp

Dabbler
Joined
Jun 25, 2017
Messages
15
Interesting I stopped powerd service.

Now it states that the CPU is in turbo mode all the time.
root@freenas:~ # sysctl dev.cpu.0.freq
dev.cpu.0.freq: 3601

root@freenas:~ # sysctl dev.cpu | grep cx
dev.cpu.3.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc
dev.cpu.3.cx_usage_counters: 19733078 46597201 0
dev.cpu.3.cx_usage: 29.74% 70.25% 0.00% last 1382us
dev.cpu.3.cx_lowest: C2
dev.cpu.3.cx_supported: C1/1/1 C2/2/151 C3/3/1034
dev.cpu.2.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc
dev.cpu.2.cx_usage_counters: 18545993 46772661 0
dev.cpu.2.cx_usage: 28.39% 71.60% 0.00% last 1639us
dev.cpu.2.cx_lowest: C2
dev.cpu.2.cx_supported: C1/1/1 C2/2/151 C3/3/1034
dev.cpu.1.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc
dev.cpu.1.cx_usage_counters: 13991558 43972918 0
dev.cpu.1.cx_usage: 24.13% 75.86% 0.00% last 726us
dev.cpu.1.cx_lowest: C2
dev.cpu.1.cx_supported: C1/1/1 C2/2/151 C3/3/1034
dev.cpu.0.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc
dev.cpu.0.cx_usage_counters: 19967763 54085801 0
dev.cpu.0.cx_usage: 26.96% 73.03% 0.00% last 67us
dev.cpu.0.cx_lowest: C2
dev.cpu.0.cx_supported: C1/1/1 C2/2/151 C3/3/1034


and this.
root@freenas:~ # powerd -v
powerd: unable to determine AC line status
load 11%, current freq 3601 MHz ( 0), wanted freq 3488 MHz
changing clock speed from 3601 MHz to 3600 MHz
load 3%, current freq 3600 MHz ( 1), wanted freq 3379 MHz
changing clock speed from 3600 MHz to 3400 MHz
load 10%, current freq 3400 MHz ( 2), wanted freq 3273 MHz
load 0%, current freq 3400 MHz ( 2), wanted freq 3170 MHz
changing clock speed from 3400 MHz to 3200 MHz
load 8%, current freq 3200 MHz ( 3), wanted freq 3070 MHz
load 7%, current freq 3200 MHz ( 3), wanted freq 2974 MHz
changing clock speed from 3200 MHz to 3000 MHz
load 6%, current freq 3000 MHz ( 4), wanted freq 2881 MHz
load 0%, current freq 3000 MHz ( 4), wanted freq 2790 MHz
changing clock speed from 3000 MHz to 2800 MHz
load 8%, current freq 2800 MHz ( 5), wanted freq 2702 MHz
load 0%, current freq 2800 MHz ( 5), wanted freq 2617 MHz
load 4%, current freq 2800 MHz ( 5), wanted freq 2535 MHz
changing clock speed from 2800 MHz to 2600 MHz
load 0%, current freq 2600 MHz ( 6), wanted freq 2455 MHz
load 33%, current freq 2600 MHz ( 6), wanted freq 2455 MHz
load 0%, current freq 2600 MHz ( 6), wanted freq 2378 MHz
changing clock speed from 2600 MHz to 2400 MHz
load 3%, current freq 2400 MHz ( 7), wanted freq 2303 MHz
load 0%, current freq 2400 MHz ( 7), wanted freq 2231 MHz
load 22%, current freq 2400 MHz ( 7), wanted freq 2161 MHz
changing clock speed from 2400 MHz to 2200 MHz
load 4%, current freq 2200 MHz ( 8), wanted freq 2093 MHz
load 11%, current freq 2200 MHz ( 8), wanted freq 2027 MHz
load 0%, current freq 2200 MHz ( 8), wanted freq 1963 MHz
changing clock speed from 2200 MHz to 2000 MHz
load 11%, current freq 2000 MHz ( 9), wanted freq 1901 MHz
load 8%, current freq 2000 MHz ( 9), wanted freq 1841 MHz
load 12%, current freq 2000 MHz ( 9), wanted freq 1783 MHz
changing clock speed from 2000 MHz to 1800 MHz
load 4%, current freq 1800 MHz (10), wanted freq 1727 MHz
load 7%, current freq 1800 MHz (10), wanted freq 1673 MHz
load 4%, current freq 1800 MHz (10), wanted freq 1620 MHz
load 3%, current freq 1800 MHz (10), wanted freq 1569 MHz
changing clock speed from 1800 MHz to 1600 MHz

powerd isn't running

root@freenas:~ # ps -aux | grep powerd
root@freenas:~ #
 
Top