USE-CASE: 1. Start sampling kernel's GPU frequency request values: while true; do head /sys/class/drm/card0/gt_cur_freq_mhz; sleep 1; done 2. Run heavy GPU benchmark like Unigine Heaven, Lightsmark 2008, GfxBench 3.x Manhattan. EXPECTED OUTCOME: * reported kernel GPU freq request is within min and max GPU frequencies ACTUAL OUTCOME: * On SKL-Y machine with supported GPU frequencies in 350-800 Mhz range, gt_cur_freq_mhz sometimes reports values within this range, sometimes obviously bogus higher ones (about 4x higher). * On SKL-i5 machine with supported GPU frequencies in 350-1150 Mhz range, gt_cur_freq_mhz sometimes reports values within this range, sometimes obviously bogus higher ones (about 3x higher). This issue has been visible in drm-intel-nightly kernels since we started testing SKL devices. Note: CAGF (gt_act_freq_mhz) value asked from GPU is always within the correct MHz range. (Sometimes it's not divisable with 50, like the requests, but that's probably not an issue.) Assigning to Mika as he said that that he might take a look at this at some point.
Eero, I suspect that only the trace events were wrongly scaled, not the sysfs entry. So the use case of polling gt_cur_freq_mhz is not a way to reproduce. http://patchwork.freedesktop.org/patch/65055/
Presumed fixed by commit 0f94592efd36213c961145fe1ab0c3bc323ec053 Author: Mika Kuoppala <mika.kuoppala@linux.intel.com> Date: Tue Nov 17 18:14:26 2015 +0200 drm/i915: Fix gpu frequency change tracing Please reopen if that is not the case.
Thanks, seems to be working. Kernel GPU freq requests reported by ftrace on SKL-Y are now within GPU speed range whereas day before they were often 3x higher. -> Verified (In many GPU heavy cases 4.5W TDP limit on SKL-Y causes GPU to run at half speed or even lower according to sysfs CAGF value (real HW freq) although kernel requests full speed from GPU according to ftrace.)
Eero, thanks for the follow-up and testing.
Closing old verified.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.