Hi MediaTek Community,
I am performing pointer-chasing / memory latency microbenchmarking on a Vivo X200 Pro (Dimensity 9400).
According to the SoC specifications and scaling_available_frequencies, the Prime Core (Cortex-X925 / CPU7) should support frequencies up to ~3.626GHz.
Issue:
Despite applying sustained computational load, CPU7 consistently plateaus around 2.3GHz and never transitions to the higher OPP (Operating Performance Point) states.
What I have tried:
-
CPU affinity:
- Used
sched_setaffinity()to pin workload to CPU7.
- Used
-
Code-based warmup:
- Added a 2-second busy-loop using floating-point math (
sin/tan) before measurement to trigger DVFS ramp-up.
- Added a 2-second busy-loop using floating-point math (
-
Cluster sideloading:
- Ran concurrent worker threads on sibling cores (CPU4-CPU6) to wake the cluster/power domain.
-
Manual cpufreq override:
-
Attempted to write:
/sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq -
Permission denied on non-root production device.
-
Observations:
-
scaling_available_frequenciesincludes ~3.62GHz entries. -
scaling_cur_freqnever exceeds ~2,300,000 kHz during testing. -
Device temperature remains below ~30°C.
-
Performance / Monster mode enabled.
-
Device connected to charger.
Questions:
-
Is there a MediaTek PerfService API or vendor-specific performance hint required to enter turbo OPP states on Dimensity 9400?
-
Does the DVFS governor require a specific workload pattern or instruction mix (e.g. NEON/vector/FMA instructions) before boosting beyond 2.3GHz?
-
Are there firmware-level thermal or power constraints that prevent CPU7 from reaching peak frequency during single-core microbenchmark workloads on retail devices?
Any guidance on reliably triggering peak single-core frequency for benchmarking would be greatly appreciated.