Hi all,

 

I would like to monitor the frequency of the iGPU of my TGL platform while running glmark2 in bursts which means glmark2 is 5sec running and 5sec not running. I disabled RC6 by echo 0 > /sys/class/drm/card0/gt_rc6_enable for my tests. Furthermore, I tried to lock the iGPU frequency to min, RP0 or RP1 by setting e.g.

echo 1300 > /sys/class/drm/card0/gt_min_freq_mhz

echo 1300 > /sys/class/drm/card0/gt_max_freq_mhz

echo 1300 > /sys/class/drm/card0/gt_boost_freq_mhz.

 

For frequency monitoring I am using intel_gpu_top and /sys/class/drm/card0/gt_cur_freq_mhz. I am a bit confused if I compare the output because intel_gpu_top and /sys/class/drm/card0/gt_cur_freq_mhz show different results.

These are my results if I lock gpu Frequency to 1300MHz

 

### /sys/class/drm/card0/gt_cur_freq_mhz

Every 0.1s: cat /sys/class/drm/card0/gt_cur_freq_mhz                                                                                                      node4-tglu-rvp: Mon Jan 10 20:22:59 2022

 

1300

 

### intel_gpu_top

root@node4-tglu-rvp:~/fGvPOC# intel_gpu_top -l

Freq MHz      IRQ RC6           RCS/0           BCS/0           VCS/0           VCS/1          VECS/0

req  act       /s   %       %  se  wa       %  se  wa       %  se  wa       %  se  wa       %  se  wa

   0    0       15 100    0.08   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

   0    0       16 100    0.08   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

   0    0       10 100    0.05   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

188  172     6045  86   13.22   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

1300 1189    44907   0   99.25   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

1300 1201    44702   0   99.05   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

1300 1182    44873   0   99.23   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

1300 1193    44830   0   99.08   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

1066  988    36336  19   80.24   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

   6    6       10 100    0.05   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

  13   13       15 100    0.08   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

  13   13       16 100    0.08   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

   0    0       13 100    0.05   0   0    0.00   0   0    0.00   0   0    0.00   0   0    0.00   0   0

 

Can someone help me to understand why /sys/class/drm/card0/gt_cur_freq_mhz always shows 1300MHz and intel_gpu_top (req and act)is dropping to almost 0Hz when glmark2 is not running?

My final goal is to figure out if render p-state transitions can impact the timeliness of my real-time workload running on a RT core.

 

Kernel Info:

Linux node4-tglu-rvp 5.10.41-rt42-intel-ese-standard-lts-rt #1 SMP PREEMPT_RT Thu Sep 23 10:21:35 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Intel Yocto BKC MR3

 

Thx, Markus

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928