Jetson/AGX Xavier Performance Governor

From eLinux.org
< Jetson
Revision as of 02:12, 10 October 2018 by Peter Pan (talk | contribs)
Jump to: navigation, search

In power non-sensitive case, using performance governor can help to run GPU at highest frequency by default and still be able to be thermal throttled. jetson_clocks.sh can set GPU frequency to highest by setting minimum frequency the same as maximum frequency, but in this case, GPU frequency cannot be throttled when temperature is high.

Re-config kernel

Run below command on board to check if CONFIG_DEVFREQ_GOV_PERFORMANCE is set or not. If not, please set CONFIG_DEVFREQ_GOV_PERFORMANCE=y and update the kernel

 $ zcat /proc/config.gz | grep CONFIG_DEVFREQ_GOV_PERFORMANCE

Keep GPU alive

Run below command on board as root to keep GPU alive (not suspend)

 # echo 0 > /sys/devices/17000000.gv11b/railgate_enable

Enable performance governor for GPU

Run below command on board to check all available governors for GPU

 $ cat /sys/class/devfreq/17000000.gv11b/available_governors
nvidia@jetson-0422418042089:~$ cat /sys/class/devfreq/17000000.gv11b/available_governors
nvhost_podgov userspace performance simple_ondemand

To enable performance governor, run below command on board as root

 # echo performance > /sys/class/devfreq/17000000.gv11b/governor

Check GPU frequency

With performance governor enabled, GPU should run at highest frequency by default, run below command on board as root to check GPU frequency

 # /home/nvidia/tegrastats
root@jetson-0422418042089:~# /home/nvidia/tegrastats
RAM 1763/15827MB (lfb 3332x4MB) CPU [0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190] EMC_FREQ 0%@2133 GR3D_FREQ 0%@1377 APE 150 MTS fg 0% bg 0% AO@41.5C GPU@43C Tboard@42C Tdiode@44.75C AUX@41.5C CPU@43C thermal@42.6C PMIC@100C GPU 1065/1065 CPU 456/456 SOC 2435/2435 CV 0/0 VDDRQ 0/0 SYS5V 2224/2224

Emulate thermal throttle

TODO