If I’m not wrong the CPU frequency is decided by ‘governor’ which is by default configured to ‘ondemand’, meaning that 903MHz is a ‘normal’ frequency when board is idle, actually this is the minimum ‘limit’ for the A73 core.
There are two cpufreq policies available in sysfs (/sys/devices/system/cpu/cpufreq/policy*) one for the LITTLE cores (Cortex-A53) and one for the big cores (Cortex-A73). Two governors are available, the default ‘ondemand’ and the ‘performance’ one. You can change the governor by echoing into ‘scaling_governor’ file (e.g echo performance > scaling_governor). Changing the governor to ‘performance’ will set the cores to the maximum frequency available.
Note that ‘ondemand’ governor sets the CPU frequency depending on the current system load. Although requesting some latency to switch core frequency, it is known to be well adapted in most cases.
The “performance” governor sets the CPU statically to the highest frequency (scaling_max_freq), however if the core reaches dangerous temperature limits, frequency can be throttled based on the mentioned sustainable_power value, need @leo-yan confirmation on this point . If all software limits/barriers are removed, ‘hardware’ forces cpu to degraded mode in case of exceeding limits. So I assume you can end with a less efficient system with performance governor… especially with the original little heatsink.
It depends on what is performed by the threads, if threads spend time sleeping (syscall, semaphore,…) this is not so much load.