Comment 49 for bug 2026658

Revision history for this message
Eli (biblicabeebli) wrote :

I have an interesting update:
I went and compiled/installed this tool: https://github.com/phush0/razer-laptop-control-no-dkms

@jadgardner: you will definitely want this, boost mode is at least +15% performance.

Its a cli tool for poking the Razer hardware bits to set the different power modes across the combination of CPU and GPU. None of these affect the power details variables or intel pstate values. For simplicity I'm using commands below that leave the GPU untouched. (the tool also lets you control the LEDs, and fan; those are irrelevant and fan doesn't work for me.)

All of the below testing was done with that compiled build of thermald running in --adaptive mode. I have attached it. I doubt a single long and fiddly run makes for a great data source, please let me know if there is a specific combination of settings you would like me test. (its 3 megs, I have compressed it. exact command was `sudo ./thermald --no-daemon --adaptive --loglevel=debug`)

(reminder: bug 1 is the 400mhz drop and lock, bug 2 is intel_pstate/no_turbo getting set to 1. bug 2 is way harder to trigger.)

1) razer-cli write power ac 4 3 0
Highest "boost" performance mode.
CPU has much higher all core and multicore speeds, cpu package temp spikes to 100 nearly instantly even moderate load.
I cannot trigger bug 1 (or bug 2) in this mode, `stress -c 1` pegs a core at 4.8ghz and it stays there. `stress -c 2` stays at values around ~4775MHz with periodic drops down to ~4450MHz but then jumps right back up after about 1 second. long_term_power either rock solid at 65 or very briefly drops down and then goes back up.

2) razer-cli write power ac 4 2 0
"High" performance mode.
It looks like this one sets a cpu target temperature around 90 for all/multicore, frequencies are higher than normal, temperature does force frequencies down at least until the fan ramps up a bit.
`stress -c 1` pegged a cpu core for less than a minute at 4.8, and then intel_pstate/max_perf_pct got set to 90 and cpu frequency dropped to 400MHz, and long_term_power dropped to 0.125. (e.g. bug 1).
Swapping back to level 3 (Boost) mode did not resolve bug.
Setting intel_pstate/max_perf_pct back to 100 does not resolve bug.
Setting long_term_power back to 65 resolves bug.

3) razer-cli write power ac 4 1 0
"Medium" power mode.
The behavior looks like a normal ~aggressive laptop performance behavior.
`stress -c 1` pegs a cpu core at 4.8, temps spike, fan slowly spins up. CPU speed drops down to various levels (2.8ghz, 4.5ghz, 4.3ghz, 4.2ghz), temperatures drop from mid 90s to mid 80s or 70s for a bit, long_term_power drops to values in the 20-30s, but then resets back to 65 after a few seconds.
I was able to trigger long_term_power down to 0.125 once by toggling stressing 1 vs 2 cpu cores, but it still reset up to 65 after a few seconds. Otherwise I was not able to trigger bug 1 or 2.
(All and multicore CPU speeds are pretty close to normal, looks like it targets ~75 degrees)

4) razer-cli write power ac 4 0 0
"low" power mode.
All and multicore CPU speeds are pretty close to normal, looks like it targets ~70 degrees, very close to "Medium".
This behavior looks like a lower or fairly passive power mode on a laptop.
Pegging a single core would get 4.8ghz for a while, adding a second would briefly get the normal behavior, but then the system would back down to 4.6, 4.5, 4.2, 3.9Ghz. Temperature would spike to 92-100 range only in the 4.7-4.8Ghz range (this is normal) and then would back off pretty quickly.
long_term_power would drop to a value like 22 pretty quickly and stay there. If I was very quick with toggling between one and two pegged cores I could hit 16, but then the value would recover back up to the default 65 and reset the process.
I was not able to trigger bug 1 at any point.

5) razer-cli write power ac 0 (this is a slightly different command than the others)
"Balanced" mode (according to the docs this is the normal operating mode, I'm skeptical?)
Seems to behave like a laptop that uses up its boost-range thermal headroom very quickly.
All and multicore seem to target 70 degrees, normal-to-low cpu frequencies.
I could only get 1 or 2 pegged cores to reach 4.8Ghz for a handful of seconds, then the max speed became about 4.6 but would hover in the 4.2-4.6 range for the rest of the test. If I let it sit idle for 30 seconds it would recover to allow for brief 4.8 spikes again.
long_term_power would drop to ~30, and would sit there until load dropped, at which point it would recover to the default 65.
Due to the inability to hit 4.8Ghz for long periods I was not able to trigger bug 1.