Any ideas on how to profile suspend/resume on a laptop with Nvidia dGPU?

Suspend usually takes something between 5 to 30 seconds on my laptop (more often on the slow side). I would like to understand in greater detail what makes it take so long. Any ideas on how I could instrument the suspend process, or any tools I could use?

Just a little bit of context: I am using Nvidia proprietary driver on a GTX 1650 dGPU, and these are the options I’m using:

options nvidia_drm modeset=1
options nvidia_drm fbdev=1
options nvidia NVreg_DynamicPowerManagement=0x02
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp
options nvidia NVreg_UsePageAttributeTable=1
options nvidia NVreg_EnableGpuFirmware=1
options nvidia NVreg_EnableS0ixPowerManagement=0

These options are already set in rpmfusion packaging

and this is default for 575+

This is also default in 575+ packaging, all cards that can use the open driver also use GSP firmware

Thanks @leigh123linux ! I forgot to mention but I am using RPMs from Negativo17.org, I’ll check if they are already set there as well so that I can drop them on my own config.

1 Like

Nice! I can see this file is saved at /usr/lib/modprobe.d, does it complement /etc/modprobe.d/nvidia.conf or should I replicate its settings there? Specifically in my case, I must set NVreg_EnableS0ixPowerManagement=0 because AFAIK my hardware does not support it.