OverrideMaxPerf and PowerMizerEnable tricks don't work on 465.24.02 driver

Hi!

I use the following kernel parameter for a long time to force the performance level of my GTX 1060 to the lowest in order to reduce the fan noise of my notebook:

nvidia.NVreg_RegistryDwords="OverrideMaxPerf=1"

But after upgrading to the latest 465.24.02 driver on Archlinux, I start to hear the noise again. The nvidia-settings tool clearly shows that that performance level jumps to the highest only with light workload (web browsing using Firefox) and stays for a while (~40s) before jumping back.

As indicated in the README document of the driver https://www.nvidia.com/download/driverResults.aspx/172836/en-us, I manually enabled the coarse-grained power control (in Chapter 22.) with the following kernel parameter:

nvidia.NVreg_DynamicPowerManagement=0x01

and ensure it’s working by checking:

# cat /proc/driver/nvidia/gpus/0000:01:00.0/power
Runtime D3 status:          Enabled (coarse-grained)
Video Memory:               Active

GPU Hardware Support:
 Video Memory Self Refresh: Not Supported
 Video Memory Off:          Not Supported

Power Limits:
 Default:                   N/A milliwatts
 GPU Boost:                 N/A milliwatts

But unfortunately, the performance level still jumps wildly.

The PowerMizerEnable/PowerMizerDefault/PerfLevelSrc trick also doesn’t work. Actually, it doesn’t ever work on my machine even with older drivers.

Is there any way to force the performance level with the new driver?

Or is it even possible to reduce the clock ramp down latency to say 3~5 seconds? Some relevant posts:
https://forums.developer.nvidia.com/t/very-slow-ramp-down-from-high-to-low-clock-speeds-leading-to-a-significantly-increased-power-cons/49098/153
https://forums.developer.nvidia.com/t/if-you-have-gpu-clock-boost-problems-please-try-gl-experimentalperfstrategy-1/71762

Thanks!

Please run nvidia-bug-report.sh as root and attach the resulting nvidia-bug-report.log.gz file to your post.

Here is my log file:

nvidia-bug-report.log.gz (687.5 KB)

The dynamic runtime pm is only for render offload on notebooks so can#t be used in your case.
Please check if you can limit clocks using nvidia-smi -lgc on your gpu to achieve the same without reboot, e.g. try
sudo nvidia-smi -lgc 139,500
Otherwise, please try to put the registrydword into a modprobe option file instead of the kernel commandline.

The command you provide doesn’t work on GTX 1060:

# nvidia-smi -lgc 139,500
Setting locked GPU clocks is not supported for GPU 00000000:01:00.0.
Treating as warning and moving on.
All done.

By the way, I am always using the same notebook. The Intel graphics card is disabled in BIOS. I’m using the kernel parameter instead of the modprobe option file because I want to use early KMS (https://wiki.archlinux.org/index.php/kernel_mode_setting).

Actually what I observe is that the old trick doesn’t work any more after the 465.24.02 update without any software/hardware configuration change on my box. And this is the reason why I suspect that the OverrideMaxPerf functionality is removed in the newer version of the driver.

And after rolling back to the older version (460.67), the OverrideMaxPerf option works again.