Jetson/TX1 Controlling Performance
Although Jetson TX1's L4T BSP has a built-in load governor enabled, through Linux sysfs
it's possible to manually control various core settings and clock frequencies, impacting power consumption and performance.
Contents
Maximizing TX1 Performance
Use the TX1 Governor Maximization script to enable maximum performance.
Run 1 minute after boot to ensure any of the Ubuntu startup scripts don't interfere or override the settings during boot.
Below the steps are broken down to illustrate the different settings available for manual use:
1. Maximizing CPU/GPU
Run the script below as root to maximize the clock frequency limits of the CPU/GPU governor.
This section also keeps the 4 ARM Cortex-A57 cores always on.
sudo su echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo userspace > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo userspace > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor echo userspace > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq cat /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq cat /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq echo 0 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable for file in /sys/devices/system/cpu/cpu*/online; do if [ `cat $file` -eq 0 ]; then echo 1 > $file fi done echo runnable > /sys/devices/system/cpu/cpuquiet/current_governor cat /sys/kernel/debug/clock/gpu_dvfs_t cat /sys/kernel/debug/clock/dvfs_table cat /sys/kernel/debug/clock/gbus/max > /sys/kernel/debug/clock/override.gbus/rate echo 1 > /sys/kernel/debug/clock/override.gbus/state
2. Disable CPU Idle
for i in `ls /sys/devices/system/cpu/cpu*/cpuidle/state*/disable`; do echo 1 > $i; done
3. Maximize EMC (Memory Controller)
cat /sys/kernel/debug/clock/override.emc/max > /sys/kernel/debug/clock/override.emc/rate echo 1 > /sys/kernel/debug/clock/override.emc/state
4. Controlling the Fan
echo 255 > /sys/kernel/debug/tegra_fan/target_pwm
Other Settings
See the TK1 Performance page for settings and commands from Jetson TK1, many of them still relevant to TX1.
There are many cores not mentioned above, exposed through /sys/kernel/debug
and /sys/devices/system
that can be experimented with for impacts to power scaling.